Knowledge Industry Survival Strategy Initiative

Workshop Series

In order to increase awareness about the role that domain specific modeling languages can play in capturing, preserving, and exploiting knowledge in virtually all industries, it is necessary to establish a strong consensus on the fundamental values and principles that underpin the use of domain specific modeling languages.

Given that the Model Driven Architecture initiative has repeated the same mistakes made earlier by many CASE tool vendors, the message about domain specific modeling languages needs to be clear, hype-free, and based on a foundation that reflects the reality of software intensive industries today. Therefore, boasting about “industry standards” is out of the question. Instead, the signatories of the KISS initiative propose to start with a small and sound common denominator that can not easily be misused by tool vendors.

This series of conference workshops and other events in 2009/10 is used to create a consensus that can be expressed and promoted in a form similar to the agile manifesto and the fundamental agile principles.

Objectives

  1. Reaching a strong consensus on fundamental values and principles for designing and using DSLs
    • The substrate on top of which practical interoperability can be achieved.
  2. Progress towards interoperability between tools
    • Not aiming too high, but instead achieving practical results.

Conference Workshops

Conference Workshop Details Location Workshop Date Organizers
aswec2009.jpg ASWEC 2009 Gold Coast, Australia 14 April 2009 Jorn Bettin, Keith Duddy
caise2009.jpg cancelled, please consider CG 2009 Amsterdam, The Netherlands 8 June 2009 Jorn Bettin, Tony Clark, Keith Duddy, Derek Roos
cg2009.jpg CG 2009 Cambridge, UK 16 - 18 June 2009 Jorn Bettin, Tony Clark, Mark Dalgarno
oopsla2009.jpg OOPSLA 2009 Orlando, Florida 25 October 2009 Jorn Bettin, Tony Clark William Cook, Steven Kelly
ase2009.jpg ASE 2009 Auckland, New Zealand 16 or 17 November 2009 Jorn Bettin, John Hosking

Results to Date

Building software intensive systems has taught us that domain specific languages represent the key 
to capturing, preserving, and exploiting knowledge in virtually all industries. 

When designing and using domain specific languages we keep it sweet & simple (KISS). 
Most importantly, we are committed to the following values:

   1. We strive to automate software construction from domain models
   2. We work with domain-specific assets
   3. We support the emergence of supply chains for software services 
   4. We see Open standards, as well as Open Source as driving interoperability
   5. We use methodologies that conform with the values of the Agile Manifesto

**Fundamental Principles for Designing Domain Specific Languages**

DSL User Perspective

   Goals

   1. Optimize support for cognitive domain models
   2. Minimize the number of errors in system specification artifacts
   3. Simplify the system specification process
   4. Disambiguate communication between domain experts

   Fundamental Principles

   1. The DSL must be meaningful to users
   2. The DSL should be cognitively efficient
   3. The DSL should have multiple notations where necessary
   4. DSLs should offer mechanisms for modularizing and integrating models
   5. The DSL should be supported by appropriate tooling

DSL Owner Perspective

   Goals

   1. Empower all stakeholders in system development
   2. Improve quality of systems 
   3. Meet regulative/legal compliance requirements 
   4. Minimize the resources required to develop systems
   5. Minimize the costs of exchanging solution technologies
   6. Decouple systems specifications from particular solution technologies
   7. Facilitate the migration of legacy systems and legacy data

   Principle

   1. There must be an economic imperative for the development of a DSL

DSL Developer Perspective

   Goals

   1. Enable a modular and composition-based approach to formal DSL definition
   2. Ensure that DSL syntaxes meet user needs
   3. Provide formal DSL definitions in a form amenable for processing in multiple tools
   4. Integrated support for defining DSL syntax; semantics; tooling; and serialization formats

   Principles

   1. The DSL must not be polluted with implementation features
   2. Model processing must always be based on a formal DSL definition
   3. DSLs should be kept small through modularization and integration

**Guidelines for DSL Developers**

   1. DSL development must assemble sufficient expertise in:
       *  Problem Domain
       *  Solution Domain
       *  Designing DSLs
       *  Language Implementation Technologies
   2. DSL development must anticipate evolution of the DSL
   3. A DSL based approach must provide adequate means for:
       *  Management and maintenance of artifacts
       *  Incremental transition from a traditional code based approach
       *  A well defined development, deployment and support process

**Recommendations for DSL Developers**

   1. DSL modularization should take into account DSL user roles
   2. DSL design and validation should use an iterative approach
   3. DSL design should involve the construction of concrete examples
   4. DSL notations should take into account established domain notations
   5. A DSL based approach should provide adequate support for distributed multi-user projects

— Peter Bell, Jorn Bettin, Tony Clark, Keith Duddy, Scott Finnie, Matthew Fowler, 
    Steven Kelly, Jack Kennedy, Frank Sauer, Laurence Tratt, Markus Voelter, Jos Warmer

   *  These results reflect
      the 4th KISS workshop on 17 November 2009 at ASE, Auckland, NZ
      the 3rd KISS workshop on 25 October 2009 at OOPSLA, Orlando, Florida, USA
      the 2nd KISS workshop on 16 June 2009 at Code Generation, Cambridge, UK
   *  Material related to the fundamental principles was first presented at the 1st KISS workshop 
      on 14 April 2009 at the ASWEC conference on the Gold Coast, Australia)
   *  The core values were originally articulated at a birds-of-a-feather session at OOPSLA 2003

The rationale for the KISS values has been summarized on this web site at Core Values, and further background material on the suggested approach to standardization is available at managing commodity products and services. The name "KISS" is intended as a reminder that less can really be more when it comes to standards.

Topics of Interest

  • Fundamental values and principles for designing and using domain specific modeling languages (DSMLs)
  • Classification of the different kinds of DSML tool components, and the artifacts created and exchanged between DSML tool components
  • Descriptions of existing or planned industrial projects that illustrate the need for improved DSML tool interoperability
  • Evaluations of existing meta meta model implementations, comparisons of meta meta model implementations, and proposals of new meta meta models that are conducive for improving DSML tool interoperability
  • Proposals for useful levels of DSML tool interoperability
  • Case studies of attempts (successful or not) to increase interoperability between two or more DSML tools
  • Concrete tool interoperability requirements from organizations that use DSMLs
  • Building an open community that owns interoperability standards for DSML tools
  • Approaches that can be used for practical certification of tools with respect to interoperability levels

Submissions

Potential participants are asked to submit a short position paper detailing their experience with domain specific modeling languages, their perspective on one or more of the above topics (or the KISS results to date), and their planned contribution to the workshop. We seek contributions that ground the workshop in real-world issues. All accepted position papers will be published on this workshop page prior to the workshop, and the participants are encouraged to read the papers prior to the workshop.

Please mail your submission to the organizer of the specific KISS workshop (see list of venues and links below) you would like to attend.

In order to make incremental progress towards achieving the second KISS goal (interoperability between tools) within a time frame that is of relevance to DSL practitioners and DSL tool builders, the upcoming KISS workshops at OOPSLA 2009 (October) and ASE 2009 (November) will aim to provide the

additional possibility to present material via web based interactive sessions for those
who are unable to travel to the conference events.

For requesting attendance via a web based interactive session, suggestions of further venues, and KISS-related events please contact Jorn Bettin (jbe at sofismo dot ch).

Publication

Accepted papers in the correct format will be published in the workshop proceedings which will be distributed on registration. The organizers will consider the best papers for publication in the theme issue of the SoSyM journal on Model Based Interoperability (submission deadline 1 November 2009).

Latest versions of material from KISS workshops to date

  1. Multi Level Modelling - precise | role based | modular | simple (new slides, Jan 2010), Jorn Bettin
  2. Fundamental Principles for Designing Domain Specific Languages, OOPSLA KISS workshop result, 25. October 2009
  3. Model Interoperability in Building Information Modelling (slides), James Steel, Robin Drogemuller
  4. Live Model Pointers - A requirement for future model repositories, Keith Duddy
  5. Gmodel - A Language for Modular Meta Modelling (slides), Jorn Bettin, Tony Clark
  6. Program Slice Metrics and Their Potential Role in DSL Design, Steve Counsell, Tracy Hall, David Bowes, Sue Black
  7. Big Models - An Alternative Approach, Jos Warmer
  8. Model Oriented Domain Analysis - Industrialized Software Specifications, Jorn Bettin
  9. Introduction to OOPSLA KISS workshop, Jorn Bettin
  10. How to Choose a Metamodeling Approach, Arnon Sturm
  11. The Relationships between Domain Specific and General-Purpose Languages , Oded Kramer, Arnon Sturm
  12. A Survey on Determining Factors for Modeling Reference Architectures, Camelia Maga, Nasser Jazdi
  13. Model-based Interoperability, Tony Clark
  14. Industrialized Software: Open questions or consensus?, Jorn Bettin
  15. A Generalised Event Handling Framework (slides), Karen Li, John Hosking, John Grundy
  16. Augmenting DSVL Meta-Tools with Pattern Specification, Instantiation and Reuse (slides), Karen Li
  17. Artefacts - Bringing Clarity & Simplicity to Modelling (slides), Jorn Bettin
  18. Feature Model to Orthogonal Variability Model Transformation towards Interoperability between Tools (slides), Fabricia Roos-Frantz, David Benavides, Antonio Ruiz-Cortes

Constructive feedback on all of the above results is welcome and encouraged as part of upcoming workshops.

KISS Criteria for Interoperability

KISS uses the following terminology and classification of interoperability levels

kiss-interoperability-levels.jpg

The KISS interoperability levels can be used to rate interoperability between any two specific tools for implementing and using domain specific languages. Two tools are deemed to be interoperable at level n if the artifacts at level n are interchangeable between the two tools. This allows pairwise tool interoperability to be certified.

Please note that KISS interoperability at the syntax level is not limited to interoperability for model instances conforming to one particular meta model, but is defined to include interoperability for model instances conforming to any meta model. This implies a shared meta meta model implementation between interoperable tools.

Beyond KISS interoperability level 5 further levels are imaginable for the distant future that address comparability of quality of services attributes.

KISS Roadmap for Standardization

At OOPSLA 2003 only few people insisted on Open Source infrastructure as an essential core value for model-driven, industrialized software development. Perhaps now the time is ripe for wider recognition that practical tool interoperability only becomes a reality when based on an implementation that has been selected by evolutionary forces, and supported by an Open Source reference implementation.

This does not mean that there is no place for standardization. It simply means that the declaration of a standard should be deferred until there is a “true and tried” implementation that has been adopted by a sizable community. Thus users of the emerging standard become the arbitrators of what works and what doesn’t, and vendors have a real incentive to please users rather than only their own marketing team.

The KISS signatories concur with Bruce Perens that consortium-based standardization is anachronistic. Bruce created the Open Source Definition and published the first formal announcement and manifesto of open source. He puts it very nicely: “In the consortium projects, there's always the handshake with one hand and a dagger in the other.”

The declaration of a standard goes beyond pairwise interoperability of tools, and consists of KISS interoperability with an Open Source reference implementation.

Not everything needs to be Open Source, but there is a sweet spot that makes life more enjoyable and less frustrating for vendors and users alike. A future standard that achieves interoperability at level 2 would already be a huge step forward as it would allow users to exchange models and to use different tools (from different vendors) to work with these models at a practical level. Interoperability at this level still enables tool vendors to differentiate themselves in terms of usability of proprietary editors, in terms of proprietary domain specific languages (meta models, implementations, quality of service attributes), and even in terms of proprietary model instances.

Organizers

Name Affiliation Country
Jorn Bettin Sofismo Switzerland
Tony Clark Thames Valley University United Kingdom
William Cook University of Texas Austin United States
Mark Dalgarno Software Acumen United Kingdom
Keith Duddy Smart Services CRC Australia
Jack Greenfield Microsoft United States
John Hosking University of Auckland New Zealand
Pavel Hruby CSC Denmark
Steven Kelly MetaCase Finland
Derek Roos Mendix The Netherlands
Bran Selic Malina Software Canada

Further Signatories

Name Affiliation Country
Colin Atkinson University of Mannheim Germany
Peter Bell Systemsforge United States
John Blackham XSOL New Zealand
Craig Cleaveland Whitebirch Software United States
Wolfgang Fahl BITPlan Germany
Scott Finnie Roperia United Kingdom
John Grundy University of Auckland New Zealand
Jack Kennedy Skyway Software United States
Anneke Kleppe Capgemini The Netherlands
Pedro J. Molina Capgemini Spain
Michael Osmond Baytech Australia
Laurent Safa Panasonic Electric Works, Ltd. Japan
Shane Sendall Snowie Group Switzerland
Tom Stahl b + m Germany
June Sung Park Samsung Korea
David Talby Amazon United States
Peer Törngren IBM Sweden
Jim van Dam HiPeS The Netherlands
Lars von Wedel Bayer Technology Services Germany
Markus Völter independent consultant Germany
Jos Warmer Ordina The Netherlands

Related Activities and Events

The following list of activities and events promote KISS and represent a source of input for discussion within the KISS initiative:

Event Location Dates KISS Organizers
Model Oriented Domain Analysis (MODA) Tutorial , Automated Software Engineering conference 2009 Auckland, New Zealand 16 or 17 November 2009 Jorn Bettin

Upcoming Events

Event Location Dates KISS Organizers
SEMAT Foundational Workshop , position paper on Software, Engineering, Artefacts, Languages (slides) Zurich, Switzerland 17 & 18 March 2010 Jorn Bettin
International Workshop on Domain Engineering @ CAiSE'10 Hammamet, Tunesia 8 June 2010 Jorn Bettin, Tony Clark
International Workshop on Domain Engineering @ ER'10 Vancouver, Canada November 2010 Jorn Bettin, Tony Clark

Further suggestions welcome!

Results

Event Location Dates KISS Organizers
Code Generation 2009 keynotes Cambridge, UK 16 - 18 June 2009 Steven Kelly, Markus Voelter
The first International Workshop on Domain Engineering CAiSE'09 , invited talk on Model Oriented Domain Analysis (slides) Amsterdam, The Netherlands 9 June 2009 Jorn Bettin
OOPSLA DSM'08 workshop & keynote Nashville 19 - 20 October 2008 Steven Kelly
Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License