220 likes | 234 Views
Explore the core terms of Domain-Specific Modeling (DSM) and how they are defined and connected in a concept map. Learn how language influences DSM and its impact on software development.
E N D
The 7th OOPSLA Workshop on Domain-Specific Modeling October 21-22, 2007 Domain-Specific Software Development Terminology: Do We All Speak the Same Language? Arturo Sánchez-Ruíz, University of North Florida, USA Motoshi Saeki, Tokyo Institute of Technology, Japan Benoît Langlois, Thales-EPM, France Roberto Paiano, University of Lecce, Italy
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Concept Map The 7th OOPSLA Workshop on Domain-Specific Modeling Sánchez-Ruíz, Saeki, Langlois, Paiano
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
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
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? The 7th OOPSLA Workshop on Domain-Specific Modeling Sánchez-Ruíz, Saeki, Langlois, Paiano
Questions? • Thank you for your attention! • ¡Gracias por su atención! • Merci de votre attention ! • Grazie per l'attenzione ! • ご静聴ありがとうございました Goseicho Arigatougozaimsita The 7th OOPSLA Workshop on Domain-Specific Modeling Sánchez-Ruíz, Saeki, Langlois, Paiano