Generic vs. Domain-specific Modeling Languages Knut Hinkelmann
Generic vs. Domain-specific Modeling Languages Domain-specific languages are notation which are defined to model knowledge about a specific domain Generic modeling languages can be used to represent any kind of knowledge Generic and Domain-specific Modeling Languages 2
Domain-specific Modeling Languages Domain-specific languages have modeling elements for representing concepts and relations of a domain of discourse Examples: BPMN domain-specific language for business processes Modeling elements: task, event, gateway,. relations: sequence flow, message flow, data association, BMM domain-specific language for business motivation Modeling elements: vision, mission, goal, strategy, influencer, relations: judges, channels efforts, ArchiMate domain-specific language for enterprise architectures Modeling elements: process, actor, role, business object, relations: uses, realizes, Generic and Domain-specific Modeling Languages 3
Generic Modeling Languages Generic modeling languages can be used to represent any kind of knowledge There are a wide range of generic modeling languages Natural language allows to express any knowledge Formal languages: Typically a subset of Logic Graphical Notations Generic and Domain-specific Modeling Languages 4
Graphical Diagrams for Generic Modeling Generic graphical modeling languages have been developed in a many difference fields: Artificial Intelligence: Semantic networks, Description Logics Data Modeling: Entity Relationship Diagrams Object-Oriented Programming: UML Class Diagrams Although having different notations these generic modeling languages typically allow to represent objects properties of objects relations between objects constraints (e.g. cardinalities, type restrictions) Generic and Domain-specific Modeling Languages 5
A Semantic Network A Semantic Network consists of nodes and relations. Example: This semantic network about university courses. role study program is part of module lecturer course project dean telesko fills role has name "Rainer Telesko" BPM has ECTS has title 6 EA has ECTS has title 6 hinkelmann has name "Knut Hinkelmann" Business Process Management Enterprise Architecture Generic and Domain-specific Modeling Languages 6
Nodes and Relations in a Semantic Networks subclass-of rope bridge bridge Golden Gate Bridge individual concept general concepts (classes) "Orange" has color It is now common to distinguish different kinds or relations and nodes in a semantic network There are two kinds of nodes: general concepts (also called classes) individual concepts (also called instances) There are different kinds of relationships generalisation ("") between classes (subclass of) between individual and class () aggregation "part-of" relationship associations any other kind of relationship property Properties can be regarded as associations whose value is not node but is of a primitive type (number, string). real object That value of a property does not have relations or properties Generic and Domain-specific Modeling Languages 7
A Semantic Network distinguishing Kinds of Nodes General Concepts role study program lecturer is part of course module subclass of subclass of project Individual Concepts dean fills role hinkelmann telesko BPM EA Properties has name "Knut Hinkelmann" has name "Rainer Telesko" has title Business Process Management 6 has ECTS has title Enterprise Architecture has ECTS 6 Generic and Domain-specific Modeling Languages 8
UML Class Diagrams and Object Diagrams Subsets of UML Class Diagrams and UML Object Diagrams are often used as generic modeling language classes attributes associations (incl. generalisation, aggregation, composition) objects UML Class diagrams where originally designed for modeling in object-oriented programming. This is why they contain operations, which are not relevant for most modeling languages Generic and Domain-specific Modeling Languages 9
The Semantic Network modeled in UML Generic and Domain-specific Modeling Languages 10