32) Domain Models and Software Product Line Engineering (SPLC) 1. - - PowerPoint PPT Presentation

32 domain models and software product line engineering
SMART_READER_LITE
LIVE PREVIEW

32) Domain Models and Software Product Line Engineering (SPLC) 1. - - 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 Software Product Line Engineering (SPLC)

Ø

  • 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 12-1.0, January 23, 2013

  • 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. Ø Ed Seidewitz. What models mean. IEEE Software, 20:26-32, September 2003.

  • 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 SOFTWARE PRODUCT LINES (SPLC)

  • 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 “base model” 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

Profile (tags) Product Constraints

Configuration Constraints (FeatureModel)

Domain Models as Domain Profiles in Marked PIM

Ø 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

Ø Domain models are used in several places in the SPLC: As design

constraints, as product constraints, as design DSL

  • Prof. U. Aßmann

Feature-driven SPLE 11

Requirements constraints

Design DSL

32.2 USING DOMAIN ONTOLOGIES IN THE MDA

  • Prof. U. Aßmann

Feature-driven SPLE 12

slide-4
SLIDE 4

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 13

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 14

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 15

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 16

slide-5
SLIDE 5

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 17

Software objects describing world objects M0 run-time object level M1 model and program level M2 metamodel Leve (language)l M3 metametamodel Level (metalanguage) Types, programs, models domain ontologies Language descriptions Modelling concepts UML, CWM, ER, OWL MOF model instances validInstanceOf describes validInstanceOf describes validInstanceOf describes

The MOF Metamodelling Hierarchy (Metapyramid)

Ø A technical space uses a metapyramid, formed by a specific

metalanguage on M3

Ø More in course “Softwarewerkzeuge” (WS)

  • Prof. U. Aßmann

Feature-driven SPLE 18

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 Process Embedded in the MOF Metapyramid

  • Prof. U. Aßmann

Feature-driven SPLE 19

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 Metalanguage With Closed-World Assumption or Open-World Assumption 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 20

slide-6
SLIDE 6

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 21

Conclusions

Ø Ontologies are advantageous in SPLE 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 22

Master‘s Courses (weiteres Hauptstudium)

  • Prof. U. Aßmann

Feature-driven SPLE 23

So Software retech chnolo logie ie II

Mo Modellie llieru rung En Entwurf rfsme smethoden Ele Eleme mentare res s über r Pro Produkt ktlin linie ien Desig sign Pa Pattern rns s and and Fra rame meworks rks (W (WS) S)

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 (SS) (SS)

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

So Software re-W

  • Werkze

rkzeuge (W (WS) S)

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

Aca Academic mic Skills Skills for for So Software re En Engin ineers rs (W (WS) S)

Wie ie ma man wisse issensch schaftlich lich arb rbeit itet

So Software re-Ma

  • Manageme

ment (SS) (SS)

Wie ie ma man Pro Proje jekt kte ma mach cht

Au Automo motive ive So Software re En Engin ineerin ring (SS) (SS) (Pro (Prof. Hohlf lfeld ld) En Enterp rprise rise So Software re (W (WS) S) (Pro (Prof. Ku Kubach ch) Au Ausg sgewählt lte Ka Kapit itel l der r So Software rearch rchit itekt ktur r (SS) (SS)

(Rich ichly ly) ) Ontolo logie ies, , Me Method engin ineerin ring, IT , IT la landsca scapes