32) Domain Models and Product Lines 1. Domain Models and Product - - PowerPoint PPT Presentation

32 domain models and product lines
SMART_READER_LITE
LIVE PREVIEW

32) Domain Models and Product Lines 1. Domain Models and Product - - PowerPoint PPT Presentation

Literature Uwe Amann, Steffen Zschaler, and Gerd Wagner. Ontologies, Fakultt Informatik, Institut fr Software- und Multimediatechnik, Lehrstuhl fr Softwaretechnologie meta-models, and the model-driven paradigm. In Coral Calero,


slide-1
SLIDE 1

Fakultät Informatik, Institut für Software- und Multimediatechnik, Lehrstuhl für Softwaretechnologie

32) Domain Models and Product Lines

Ø

  • Prof. Dr. U. Aßmann

Ø

Florian Heidenreich

Ø

Technische Universität Dresden

Ø

Institut für Software- und Multimediatechnik

Ø

Gruppe Softwaretechnologie

Ø

http://st.inf.tu-dresden.de

Ø

Version 11-0.1, Dezember 28, 2011

  • 1. Domain Models and Product Lines
  • 2. Domain Ontologies and the MDA

Literature

Ø Uwe Aßmann, Steffen Zschaler, and Gerd Wagner. Ontologies, meta-models, and the model-driven paradigm. In Coral Calero, Francisco Ruiz, and Mario Piattini, editors, Ontologies for Software Engineering and Technology. Springer, 2006.

  • Prof. U. Aßmann

Feature-driven SPLE 2

use cases

textual requirements (stories)

Product 1 Product 2 requirements specification Product n context model

So Far: Product Lines Configured by Feature Models

analysis Model

  • Prof. U. Aßmann

Feature-driven SPLE 3

Feature Model (varability model) domain model use cases

textual requirements (stories)

Product 1 Product 2 requirements specification Product n context model

Now: Product Lines with different Domain Models

analysis Model

  • Prof. U. Aßmann

Feature-driven SPLE 4

Feature Model (varability model) domain model domain model

slide-2
SLIDE 2

Model weaving Domain-1 specific model (DSM) Domain-1-specific extension (DSE) Domain-independent model (DIM) Model weaving Domain-(1+2) specific model (DSM-2) Domain-2 specific extension (DSE)

Adding Domain-Specific Extensions to Domain- Independent Models

Ø In a product line, domain-specific extensions can be treated like platform-specific extensions (see process FEASIPLE)

  • Prof. U. Aßmann

Feature-driven SPLE 5

FEASIPLE: A Multi-Stage Process Architecture for PLE

Ø FEASIPLE can be extended by a stage for selecting domain models

  • Prof. U. Aßmann

Feature-driven SPLE 6

DIM DSM + Domains

32.1 DOMAIN MODELS AND PRODUCT LINES

  • Prof. U. Aßmann

Feature-driven SPLE 7

Variants Variants Variants Analysis Model Product Line Design Model (Framework) Implementation (partial) Product Design Model Design Variants Domain Model (Domain ontology) Variants Code Components

Design Constraints Product Constraints

Configuration Constraints (FeatureModel)

Domain Models can be Integrated into PL in Different Ways

Ø As supermodel of the analysis model: analysis classes inherit from domain

classes (standard was of ST-I)

  • Prof. U. Aßmann

Feature-driven SPLE 8

A extends D

slide-3
SLIDE 3

Teacher Student Company Course Course Part Exercise Exam Teachingdomain model Business Domain model Analysis model extensions Teacher Student Company Course attends() teaches() countStudents() Consultance PayedCourse Teacher Student PayedCourse pay() getSalary() payCourse() book() Exercise Solution FreeCourse Teacher Student FreeCourse donate() beg() payCourse() lookup()

Domain Models as Base Models

  • Prof. U. Aßmann

Feature-driven SPLE 9

Design model extensions

Variants Variants Variants Analysis Model Product Line PIM (Framework) Implementation Product PSM Design Variants

Domain Model

Variants Code Components

Profil (tags) Product Constraints

Configuration Constraints (FeatureModel)

Marking with Tags of Domain Profiles

Ø Marked PIM in MDA

  • Prof. U. Aßmann

Feature-driven SPLE 10

Variants Variants Variants Analysis Model Product Line Design Model (Framework) Implementation (partial) Product Design Model Design Variants Domain Model (Domain ontology) Variants Code Components

Design Constraints Product Constraints

Configuration Constraints (FeatureModel)

MOST Product Family Architecture (MOPF) As Contraints

Ø As design constraints, as product constraints, as domainenmodell

  • Prof. U. Aßmann

Feature-driven SPLE 11

Requirements constraints Design DSL

  • Prof. U. Aßmann

Feature-driven SPLE 12

slide-4
SLIDE 4

32.2 USING DOMAIN ONTOLOGIES IN THE MDA

  • Prof. U. Aßmann

Feature-driven SPLE 13

Motivation Ø Ontologies offer reasoning power

Ø Ontologies are modeled by domain experts and standardized Ø Gene Ontology, SnoMed, Mouse Ontology, .. Ø OWL language is standardized, reasoners are available

Ø Can we use them in the Product-Line Engineering, resp.

MDA?

Ø How do ontologies and system models relate?

Ø Ontology Ø Metamodels Ø Model-Driven Engineering (MDE) Ø Model-Driven Architecture (MDA)

  • Prof. U. Aßmann

Feature-driven SPLE 14

Models vs Ontologies

Ø How can we find a place for ontologies in the world of MDA?

A model of a system is a description or specifiation of that system and its environment for some certain purpose. [MDA Guide] Ontologies are formal explicit specifications of a shared conceptualization.[Gruber]

A model is an external and explicit representation of a part of reality as seen by the people who wish to use that model to understand, change, manage, and control that part of reality. [Pidd]

But....

  • Prof. U. Aßmann

Feature-driven SPLE 15

Analysis with Ontologies, Specification with System Models

Ø [Aßmann, Zschaler, Wagner 06]

An ontology: a standardized, descriptive model, representing reality by a set of concepts, their interrelations, and constraints under

  • pen-world assumption.

A system model: a non-standardized, prescriptive model, representing a set of systems by a set of concepts, their interrelations, and constraints under closed-world assumption.

  • Prof. U. Aßmann

Feature-driven SPLE 16

slide-5
SLIDE 5

Models vs Ontologies – A Big Difference Description or Control

► Ontologies need the open-world

assumption

Analysis perspective

Anything not explicitly expressed is unknown

Ontologies use a form of partial description to abstract

  • Models describe or control reality.
  • If they describe, they monitor reality and form true, or faithful, abstractions (Analysis,

Reengineering)

  • If they control, they prescribe reality (Construction, Specification)

► System models need closed-world

assumption

Design perspective

Anything not explicitly expressed is wrong

System models specify completely

A model can be descriptive or prescriptive. [Seidewitz CACM 03] Prescriptive Descriptive

  • Prof. U. Aßmann

Feature-driven SPLE 17

What to Do with What

Ø With Closed World Assumption (Reasoning)

Ø Querying Ø needs CWA to exclude erroneous data Ø Metamodeling: Ø needs CWA to exclude erroneous programs Ø Integrity constraints Ø needs CWA to exclude erroneous models

Ø With Open World Assumption

Ø Domain modeling Ø needs OWA because of partial specification of domain

  • Prof. U. Aßmann

Feature-driven SPLE 18

Software objects describing world objects M0 Object level M1 model level M2 metamodel level M3 metametamodel level Types, programs, models domain ontologies Language descriptions Modelling concepts OWL, UML, CWM,ER MOF model instances validInstanceOf describes validInstanceOf describes validInstanceOf describes

The MOF Metamodelling Hierarchy

Ø aka metapyramid

  • Prof. U. Aßmann

Feature-driven SPLE 19

M0 object level M1 model level M2 metamodel level M3 metametamodel level CIM PIM PSM CIM-MM PIM-MM PSM-MM MetaMetamodels Metamodels (languages) Models System instances Language specifications Modelling concepts MOF Instance specifications

<<instance-of>> <<instance-of>> <<instance-of>>

The MDA Embedded in the MOF Metapyramid

  • Prof. U. Aßmann

Feature-driven SPLE 20

slide-6
SLIDE 6

Analysis Problem Domain Descriptive Design Solution Domain Prescriptive (Specifications) Software objects M0 object level M1 model level M2 metamodel level M3 metametamodel level Domain ontologies Upper ontologies Universal CWA Metamodeling language Metamodels (languages, language concepts) Models Real world objects <<instance-of>> <<instance-of>> <<instance-of>> <<described-by>> <<instance-of>> <<is-a>>

Integration with a Universal Metalanguage

  • Prof. U. Aßmann

Feature-driven SPLE 21

Analysis Problem Domain Descriptive Design Solution Domain Prescriptive (Specifications) Real world objects M0 object level M1 model level M2 metamodel level M3 metametamodel level Domain ontologies Upper ontologies CIM-Domain

  • ntology

PIM PSM CIM-RM-MM PIM-MM PSM-MM Software objects CIM-RM CIM-Business

  • ntology

<<instance-of>> <<described-by>> <<described-by>> <<instance-of>> <<instance-of>> Metametamodels (specification concepts) <<instance-of>>

Embedding Ontologies into the MOF Metapyramid and MDA

  • Prof. U. Aßmann

Feature-driven SPLE 22

Conclusions

Ø Ontologies are advantageous in PLE for

Ø domain ontologies Ø integrity constraint ontologies in product lines

Ø but...

Ø Ontologies should not be misused as system models Ø Ontologies complement system models Ø Ontologies in OWA for domain modeling, CWA for the rest

Ø Integration technology and tools needed! Ø MOST project (Marrying Ontologies and Software Technology) Ø www.most-project.eu

  • Prof. U. Aßmann

Feature-driven SPLE 23

Master‘s Courses (weiteres Hauptstudium)

  • Prof. U. Aßmann

Feature-driven SPLE 24

So Software retech chnolo logie ie II

En Entwurf rfsme smethoden Ele Eleme mentare res s über r Pro Produkt ktlin linie ien

Desig sign Pa Pattern rns s and Fra rame meworks rks

Pro Produkt ktlin linie ien mit mit

  • bje

jekt ktorie rientie iert rter r Pro Progra rammie mmieru rung (O (OO Ko Komp mponentenmo modell) ll)

Comp mponent-Ba

  • Base

sed So Software re En Engin ineerin ring

Pro Produkt ktlin linie ien mit mit andere ren Ko Komp mponentenmo modelle llen

So Software re-W

  • Werkze

rkzeuge

Pro Produkt ktlin linie ien mit mit Werkze rkzeugen Tech chnikrä ikräume me

So Software re-Ma

  • Manageme

ment

Wie ie ma man Pro Proje jekt kte ma mach cht