domain-specific software development terminology: do we all speak the same language? arturo...

22
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 The 7th OOPSLA Workshop on Domain-Specific Modeling October 21-22, 2007

Upload: sharon-long

Post on 31-Dec-2015

213 views

Category:

Documents


0 download

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?

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