domain-specific software development terminology: do we all speak the same language? arturo...
TRANSCRIPT
Domain-Specific Software Development Terminology: Do We All Speak the Same Language?
Arturo Sánchez-Ruíz, University of North Florida, USAMotoshi Saeki, Tokyo Institute of Technology, JapanBenoît Langlois, Thales-EPM, FranceRoberto Paiano, University of Lecce, Italy
The 7th OOPSLA Workshop on Domain-Specific ModelingOctober 21-22, 2007
The 7th OOPSLA Workshop on Domain-Specific Modeling
Sánchez-Ruíz, Saeki, Langlois, Paiano 2
Issue Topic during the 2006 DSM edition:
Identification of a set of DSM “core terms” Final impression: we (researchers and
practitioners) don’t mean the same for the same terms
Issue: What are the DSM core terms? Their definitions (because so connected to
each other)? What is the concept map of those core
terms?
The 7th OOPSLA Workshop on Domain-Specific Modeling
Sánchez-Ruíz, Saeki, Langlois, Paiano 3
Agenda Methodology Core Terms and Their Definitions Concept Map Conclusions and Future Work
The 7th OOPSLA Workshop on Domain-Specific Modeling
Sánchez-Ruíz, Saeki, Langlois, Paiano 4
Agenda Methodology Core Terms and Their Definitions Concept Map Conclusions and Future Work
The 7th OOPSLA Workshop on Domain-Specific Modeling
Sánchez-Ruíz, Saeki, Langlois, Paiano 5
Methodology
Iteration 0: agree upon an initial set of core terms. Domain, Application, Level of Abstraction, Language,
Syntax, Semantics, Model, Meta-Model, Ontology, Domain-Specific Modeling, and Domain-Specific Language.
Iteration 1: each participant creates a document containing a succinct definition for each term.
Iteration 2: try to get to a set of converging definitions and produce a document with them.
Iteration 3: build a concept map showing these core terms and relationships among them.
The 7th OOPSLA Workshop on Domain-Specific Modeling
Sánchez-Ruíz, Saeki, Langlois, Paiano 6
Agenda Methodology Core Terms and Their Definitions Concept Map Conclusions and Future Work
The 7th OOPSLA Workshop on Domain-Specific Modeling
Sánchez-Ruíz, Saeki, Langlois, Paiano 7
Software Application A software application is a
component of an approach to solve a problem
Corresponds to a fundamental part of the solution to a problem
The 7th OOPSLA Workshop on Domain-Specific Modeling
Sánchez-Ruíz, Saeki, Langlois, Paiano 8
Application Domain It is characterized by the relevant
objects (a.k.a. concepts) and their relationships
Relevance is relative to: The problem, The decision of whether or not certain
objects and relationships are relevant
The 7th OOPSLA Workshop on Domain-Specific Modeling
Sánchez-Ruíz, Saeki, Langlois, Paiano 9
Abstraction and Levels of Abstractions
Abstraction: Concentrating on the “essence” of the domain, ignoring elements that are considered to be superfluous
Iterative process of defining a lattice of layers, each of which is referred to as a level of abstraction
The 7th OOPSLA Workshop on Domain-Specific Modeling
Sánchez-Ruíz, Saeki, Langlois, Paiano 10
Language, Alphabet, Vocabulary, Syntax, Semantics, and Meta-Language
Language: Purpose: Allowing analysts to
characterize domains, problems within these, and solutions to such problems.
A language is defined by its alphabet, vocabulary, syntax, and semantics.
The 7th OOPSLA Workshop on Domain-Specific Modeling
Sánchez-Ruíz, Saeki, Langlois, Paiano 11
Language, Alphabet, Vocabulary, Syntax, Semantics, and Meta-Language
Alphabet: Set of symbols that are used to build elements in the vocabulary.
Vocabulary: Set of allowed “words”.
Syntax: Set of rules that define all possible “phrases” in the language (i.e. the set of syntactically correct phrases). Built from words in its vocabulary.
Semantics: Set of definitions that establish the “meaning” of all possible syntactically correct phrases in the language.
The 7th OOPSLA Workshop on Domain-Specific Modeling
Sánchez-Ruíz, Saeki, Langlois, Paiano 12
Language, Alphabet, Vocabulary, Syntax, Semantics, and Meta-Language
Meta-Language: Purpose: Language for defining other
languages. For any fixed language, there can be
various meta-languages that are used to define different aspects of such language.
Since meta-languages are languages, they also have the elements associated with any language (e.g. alphabet, vocabulary, etc.)
The 7th OOPSLA Workshop on Domain-Specific Modeling
Sánchez-Ruíz, Saeki, Langlois, Paiano 13
Model and Meta-Model Domain Modeling:
Process of identifying, documenting, and specifying the objects and their relationships (relevant in the context of a given problem.)
Process result = Domain Model (a.k.a. Application Domain Model.)
A language is needed to define the model. The meta-language that is used to define the
semantics of this language is referred to as a meta-model.
In some cases, the terms “language” and “model” can be used interchangeably if this does not lead to confusion.
The 7th OOPSLA Workshop on Domain-Specific Modeling
Sánchez-Ruíz, Saeki, Langlois, Paiano 14
Ontology Definition:
Purpose: specification of the knowledge about a domain “An ontology is an explicit specification of a
conceptualization.” (Tom Gruber – complete reference in the paper.)
A more recent definition proposed by Ontolog uses a multi-dimensional characterization of ontologies (see also this page for a definition of the dimensions.)
Hence, it is plausible to equate an ontology with a model of a domain of application.
It is also plausible to equate an ontology with a meta-model associated with a domain of application.
The 7th OOPSLA Workshop on Domain-Specific Modeling
Sánchez-Ruíz, Saeki, Langlois, Paiano 15
Domain-Specific Modeling (DSM)
Purpose: Process of building a model for a specific domain “Domain-Specific Modeling raises the
level of abstraction beyond programming by specifying the solution directly using domain concepts.” (DSM Forum)
DSM is therefore a specialization of the general concept of modeling
The 7th OOPSLA Workshop on Domain-Specific Modeling
Sánchez-Ruíz, Saeki, Langlois, Paiano 16
Domain-Specific Language (DSL)Domain-Specific Software Development (DSSD)
End-users utilize DSLs and environments to build solutions to problems in their domain.
Languages + translators + environments generate the code that implements the actual software solution
All of these elements together constitute a Domain-Specific approach to Software Development (DSSD)
The 7th OOPSLA Workshop on Domain-Specific Modeling
Sánchez-Ruíz, Saeki, Langlois, Paiano 17
Agenda Methodology Core Terms and Their Definitions Concept Map Conclusions and Future Work
The 7th OOPSLA Workshop on Domain-Specific Modeling
Sánchez-Ruíz, Saeki, Langlois, Paiano 18
Concept Map
The 7th OOPSLA Workshop on Domain-Specific Modeling
Sánchez-Ruíz, Saeki, Langlois, Paiano 19
Agenda Methodology Core Terms and Their Definitions Concept Map Conclusions and Future Work
The 7th OOPSLA Workshop on Domain-Specific Modeling
Sánchez-Ruíz, Saeki, Langlois, Paiano 20
Conclusions & Future Work I Exercise initiated during the 2006
OOPSLA Workshop on DSM Goal: Determining if we meant the same
when referring to DSM core terms Result: Definitions + Concept Map
Instructive to frame DSM in the context of DSSD DSSD is seen as an activity which focuses
on specific domains
The 7th OOPSLA Workshop on Domain-Specific Modeling
Sánchez-Ruíz, Saeki, Langlois, Paiano 21
Conclusions & Future Work II Our exercise suggests to use of “meta-
X” when explicitly/implicitly defining the semantics of X.
The concept map can be extended to create a “live” authoritative source (from our community) for the definition of core terms augmented with examples and other references (hyperlinks).
Anybody interested in this project?