Literature Ø Uwe Aßmann, Steffen Zschaler, and Gerd Wagner. Ontologies, Fakultät Informatik, Institut für Software- und Multimediatechnik, Lehrstuhl für Softwaretechnologie 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. 32) Domain Models and Software Product Line Engineering (SPLC) 1. Domain Models and Product Lines 2. Domain Ontologies and the MDA Ø 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 Prof. U. Aßmann Feature-driven SPLE 2 So Far: Product Lines Configured by Feature Models Now: Product Lines with different Domain Models requirements requirements specification specification Feature Feature textual Model textual Model requirements requirements (varability (varability Product 1 Product 1 (stories) (stories) model) model) analysis analysis Model Model context context model model domain model domain domain model model use use cases cases Product 2 Product 2 Product n Product n Prof. U. Aßmann 3 Prof. U. Aßmann 4 Feature-driven SPLE Feature-driven SPLE
Adding Domain-Specific Extensions to Domain- FEASIPLE: A Multi-Stage Process Architecture for PLE Independent Models Ø FEASIPLE can be extended by a stage for selecting domain models Ø In a product line, domain-specific extensions can be treated like platform-specific extensions (see process FEASIPLE) DIM Domain-1-specific Domain-independent model (DIM) extension (DSE) DSM + Domains Model weaving Domain-2 specific Domain-1 specific model (DSM) extension (DSE) Model weaving Domain-(1+2) specific model (DSM-2) Prof. U. Aßmann Feature-driven SPLE 5 Prof. U. Aßmann Feature-driven SPLE 6 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) Domain Model (Domain ontology) Configuration Constraints A extends D (FeatureModel) Analysis Model Design Constraints Variants Product Line Design Model Design Variants (Framework) Variants Product Constraints 32.1 DOMAIN MODELS Product Design Model Variants AND SOFTWARE PRODUCT Variants Code Components LINES (SPLC) Implementation (partial) Feature-driven SPLE Prof. U. Aßmann 7 Prof. U. Aßmann 8 Feature-driven SPLE
Domain Models as Base Models Domain Models as Domain Profiles in Marked PIM Teachingdomain Ø Marked PIM in MDA model Teacher Company Configuration Domain Model Student Course Constraints Business Domain model (FeatureModel) Analysis Model Analysis model Company Profile (tags) Teacher extensions teaches() Variants Product Line PIM Exercise Variants Design (Framework) Student Course Course Variants Part Exam countStudents() attends() Product Constraints Design model extensions Exercise PayedCourse FreeCourse Product PSM Consultance Solution Teacher Teacher Variants Code Variants lookup() book() getSalary() beg() Components Student PayedCourse Student FreeCourse pay() payCourse() payCourse() donate() Implementation Prof. U. Aßmann Feature-driven SPLE 9 Prof. U. Aßmann Feature-driven SPLE 10 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 Domain Model Requirements (Domain ontology) Configuration constraints Constraints (FeatureModel) Design DSL Analysis Model Design Constraints Variants Product Line Design Model Design Variants (Framework) Variants Product Constraints 32.2 USING DOMAIN Product Design Model Variants Variants ONTOLOGIES IN THE MDA Code Components Implementation (partial) Feature-driven SPLE Prof. U. Aßmann 12 Prof. U. Aßmann 11 Feature-driven SPLE
Motivation Models vs Ontologies Ø Ontologies offer reasoning power Ø How can we find a place for ontologies in the world of MDA? Ø Ontologies are modeled by domain experts and standardized Ø Gene Ontology, SnoMed, Mouse Ontology, .. A model is an external and explicit representation of a part of reality as seen by the Ø OWL language is standardized, reasoners are available people who wish to use that model to understand, change, manage, and control that Ø Can we use them in the Product-Line Engineering, resp. part of reality. [Pidd] MDA? Ø How do ontologies and system models relate? A model of a system is a description or specifiation of that system and its environment for some Ø Ontology certain purpose. [MDA Guide] Ø Metamodels Ø Model-Driven Engineering (MDE) Ø Model-Driven Architecture (MDA) But.... Ontologies are formal explicit specifications of a shared conceptualization.[Gruber] Prof. U. Aßmann Feature-driven SPLE 13 Prof. U. Aßmann Feature-driven SPLE 14 Analysis with Ontologies, Models vs Ontologies – A Big Difference Specification with System Models Description or Control Ø [Aßmann, Zschaler, Wagner 06] A model can be descriptive or prescriptive . [Seidewitz CACM 03] • Models describe or control reality. • If they describe, they monitor reality and form true, or faithful, abstractions (Analysis, Reengineering) An ontology: A system model: • If they control, they prescribe reality (Construction, Specification) a standardized, a non-standardized, descriptive model, prescriptive model, ► System models need closed-world ► Ontologies need the open-world assumption assumption representing reality representing a set of systems Design perspective Analysis perspective by a set of concepts, their by a set of concepts, their interrelations, ■ ■ interrelations, and constraints and constraints Anything not explicitly expressed Anything not explicitly expressed ■ ■ under under is wrong is unknown open-world assumption. closed-world assumption. System models specify completely Ontologies use a form of partial ■ ■ description to abstract Descriptive Prescriptive Prof. U. Aßmann 15 Prof. U. Aßmann 16 Feature-driven SPLE Feature-driven SPLE
What to Do with What The MOF Metamodelling Hierarchy (Metapyramid) Ø With Closed World Assumption (Reasoning) Ø A technical space uses a metapyramid, formed by a specific metalanguage on M3 Ø Querying Ø More in course “Softwarewerkzeuge” (WS) Ø needs CWA to exclude erroneous data Ø Metamodeling: Ø needs CWA to exclude erroneous programs M3 metametamodel Ø Integrity constraints Level MOF Modelling concepts (metalanguage) Ø needs CWA to exclude erroneous models validInstanceOf describes Ø With Open World Assumption Ø Domain modeling UML, CWM, ER, OWL M2 metamodel Language descriptions Ø needs OWA because of partial specification of domain Leve (language)l validInstanceOf describes Types, programs, models M1 model and program level domain ontologies validInstanceOf describes Software objects model instances describing world objects M0 run-time object level Prof. U. Aßmann Feature-driven SPLE 17 Prof. U. Aßmann Feature-driven SPLE 18 The MDA Process Embedded in the MOF Metapyramid Integration with a Universal Metalanguage Design Analysis Solution Domain Problem Domain M3 metametamodel Modelling concepts Prescriptive (Specifications) Descriptive level MOF M3 metametamodel MetaMetamodels Universal Metalanguage level With Closed-World Assumption or Open-World Assumption <<instance-of>> CIM-MM M2 metamodel <<instance-of>> level <<instance-of>> Language specifications M2 metamodel PIM-MM level Metamodels Metamodels Upper ontologies (languages, language PSM-MM (languages) concepts) <<instance-of>> <<is-a>> <<instance-of>> CIM Instance specifications M1 model level M1 model level Domain ontologies PIM Models Models PSM <<described-by>> <<instance-of>> <<instance-of>> M0 object level Real world objects Software objects M0 object level System instances Prof. U. Aßmann 19 Prof. U. Aßmann 20 Feature-driven SPLE Feature-driven SPLE
Recommend
More recommend