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. 32) Domain Models and Product Lines 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 11-0.1, Dezember 28, 2011 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 supermodel 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 PRODUCT LINES Variants Code Components Implementation (partial) Feature-driven SPLE Prof. U. Aßmann 7 Prof. U. Aßmann 8 Feature-driven SPLE
Domain Models as Base Models Marking with Tags of Domain Profiles Teachingdomain Ø Marked PIM in MDA model Teacher Company Configuration Domain Model Student Course Constraints Business Domain model (FeatureModel) Analysis Model Analysis model Company Profil (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 Ø As design constraints, as product constraints, as domainenmodell Domain Model Requirements Configuration (Domain ontology) constraints Constraints (FeatureModel) Design DSL Analysis Model Design Constraints Variants Product Line Design Model Variants Design (Framework) Variants Product Constraints Product Design Model Variants Code Variants Components Implementation (partial) Prof. U. Aßmann 11 Prof. U. Aßmann 12 Feature-driven SPLE Feature-driven SPLE
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) 32.2 USING DOMAIN ONTOLOGIES IN THE MDA Feature-driven SPLE Prof. U. Aßmann 13 Prof. U. Aßmann Feature-driven SPLE 14 Analysis with Ontologies, Models vs Ontologies Specification with System Models Ø How can we find a place for ontologies in the world of MDA? Ø [Aßmann, Zschaler, Wagner 06] 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] An ontology: A system model: A model of a system is a description or specifiation of that system and its environment for some a standardized, a non-standardized, certain purpose. [MDA Guide] descriptive model, prescriptive model, representing reality representing a set of systems by a set of concepts, their by a set of concepts, their interrelations, But.... interrelations, and constraints and constraints under under Ontologies are formal explicit specifications of a shared conceptualization.[Gruber] open-world assumption. closed-world assumption. Prof. U. Aßmann 15 Prof. U. Aßmann 16 Feature-driven SPLE Feature-driven SPLE
Models vs Ontologies – A Big Difference What to Do with What Description or Control Ø With Closed World Assumption (Reasoning) A model can be descriptive or prescriptive . Ø Querying [Seidewitz CACM 03] Ø needs CWA to exclude erroneous data Ø Metamodeling: • Models describe or control reality. Ø needs CWA to exclude erroneous programs • If they describe, they monitor reality and form true, or faithful, abstractions (Analysis, Ø Integrity constraints Reengineering) Ø needs CWA to exclude erroneous models • If they control, they prescribe reality (Construction, Specification) Ø With Open World Assumption Ø Domain modeling ► System models need closed-world ► Ontologies need the open-world Ø needs OWA because of partial specification of domain assumption assumption Design perspective Analysis perspective ■ ■ Anything not explicitly expressed Anything not explicitly expressed ■ ■ is wrong is unknown System models specify completely Ontologies use a form of partial ■ ■ description to abstract Descriptive Prescriptive Prof. U. Aßmann Feature-driven SPLE 17 Prof. U. Aßmann Feature-driven SPLE 18 The MOF Metamodelling Hierarchy The MDA Embedded in the MOF Metapyramid Ø aka metapyramid M3 metametamodel Modelling concepts level MOF MetaMetamodels M3 metametamodel level MOF Modelling concepts <<instance-of>> CIM-MM M2 metamodel level validInstanceOf describes Language specifications PIM-MM Metamodels PSM-MM (languages) OWL, UML, CWM,ER M2 metamodel Language descriptions level <<instance-of>> validInstanceOf describes CIM Instance specifications M1 model level PIM Types, programs, models M1 model level Models domain ontologies PSM validInstanceOf describes <<instance-of>> Software objects model instances M0 object level describing world 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