1 / 22

Domain-Specific Software Development Terminology: Do We All Speak the Same Language?

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.

mstillwell
Download Presentation

Domain-Specific Software Development Terminology: Do We All Speak the Same Language?

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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

  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?  The 7th OOPSLA Workshop on Domain-Specific Modeling Sánchez-Ruíz, Saeki, Langlois, Paiano

  22. 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

More Related