Representing feature models as class diagrams

Similar documents
An eclipse-based Feature Models toolchain

Integration of Microsoft Visio and Eclipse Modeling Framework Using M3-Level-Based Bridges

Organization of DSLE part. Overview of DSLE. Model driven software engineering. Engineering. Tooling. Topics:

Eindhoven University of Technology

Software Visualization in 3D - Implementation, Evaluation, and Applicability

Web Application Development Focused on BP Specifications*

Course 4 27 October Adrian Iftene adiftene@info.uaic.ro

Lecture 12: Entity Relationship Modelling

Automatic Generation of Consistency-Preserving Edit Operations for MDE Tools

Development of a Feature Modeling Tool using Microsoft DSL Tools.

A technical discussion on modeling with UML 06/11/03 Entity Relationship Modeling with UML

Tool Support for Model Checking of Web application designs *

Introduction à EMF Eclipse Modeling Framework

MQT, an Approach for Runtime Query Translation: From EOL to SQL

Modernizing Simulation Input Generation and Post-Simulation Data Visualization with Eclipse ICE

MDA Transformations Applied to Web Application Development 1

Formal Technical Inspection. Using CLIPS to Detect Network Intrusions - (CLIPNIDS)

Development of Tool Extensions with MOFLON

From Models to Code with the Eclipse Modeling Framework

Co-Creation of Models and Metamodels for Enterprise. Architecture Projects.

A Classification of Model Checking-based Verification Approaches for Software Models

Home Assignment 4 OCL

Mapping between Levels in the Metamodel Architecture

Model-Driven Health Tools (MDHT) CDA Tools Overview.

Graph-Grammar Based Completion and Transformation of SDL/UML-Diagrams

Turning Emergency Plans into Executable

Meta Model Based Integration of Role-Based and Discretionary Access Control Using Path Expressions

UML Modeling Guidelines

Automating the Development of Information Systems with the MOSKitt Open Source Tool

Chapter 3. Data Modeling Using the Entity-Relationship (ER) Model

Object-Oriented Design Guidelines

Formal Engineering for Industrial Software Development

Towards a Common Metamodel for the Development of Web Applications

Software Product Lines

Dr. Jana Koehler IBM Zurich Research Laboratory

A Tool Suite for the Generation and Validation of Configurations for Software Availability

Example-driven meta-model development

Proceedings of the 6th Educators Symposium: Software Modeling in Education at MODELS 2010 (EduSymp 2010)

ONTOLOGY FOR MOBILE PHONE OPERATING SYSTEMS

On translating UML models into graph transformation systems $

CompuScholar, Inc. Alignment to Utah's Computer Programming II Standards

Meta-Model specification V2 D

From Business World to Software World: Deriving Class Diagrams from Business Process Models

Model-Driven Online Capacity Management for Component-Based Software Systems

Appendix... B. The Object Constraint

Role-based Authorization Constraints Specification Using Object Constraint Language

Modeling the User Interface of Web Applications with UML

Structure of Presentation. The Role of Programming in Informatics Curricula. Concepts of Informatics 2. Concepts of Informatics 1

Software Variability Management

OO-HMethod and the Structure of a Model

Data Analysis 1. SET08104 Database Systems. Napier University

Overview

Visual Studio Class Designer and Unified Modelling Language

Workflow Access Control from a Business Perspective

Modelling the Railway Control Domain rigorously with a UML 2.0 Profile

Unit 2.1. Data Analysis 1 - V Data Analysis 1. Dr Gordon Russell, Napier University

today 1,700 special programming languages used to communicate in over 700 application areas.

Generating Enterprise Applications from Models

Enterprise architecture Manufacturing operations management Information systems in industry ELEC-E8113

A Proposal for Constructing Relational Database from Class Diagram

CSE 1020 Introduction to Computer Science I A sample nal exam

In this Lecture you will Learn: Development Process. Unified Software Development Process. Best Practice

Thomas Jefferson High School for Science and Technology Program of Studies Foundations of Computer Science. Unit of Study / Textbook Correlation

Structure of Presentation. Stages in Teaching Formal Methods. Motivation (1) Motivation (2) The Scope of Formal Methods (1)

AN ONTOLOGICAL APPROACH TO WEB APPLICATION DESIGN USING W2000 METHODOLOGY

COMP 378 Database Systems Notes for Chapter 7 of Database System Concepts Database Design and the Entity-Relationship Model

Transcription:

Representing feature models as class diagrams Abel Gómez, Isidro Ramos Technical University of Valencia. Departamento de Sistemas Informáticos y Computación. 1 Abel Gómez, Isidro Ramos - Universidad Politécnica de Valencia

Metamodels 2 Abel Gómez, Isidro Ramos - Universidad Politécnica de Valencia

Notation Binary relationships: Mandatory Optional Groupped relationships: Alternative (XOR) XOR Czarnecki-Eisenecker notation Extended Czarnecki- Eisenecker notation XOR with optional subfeatures Optional (OR) * Figures from ŠÍPKA, M.: Exploring the Commonality in Feature Modeling Notations. In: IIT.SRC 2005 Informatics and Information Technology Student Research Conference. Bratislava, April 2005, V. Vranić (supervisor), pp. 139 144. Abel Gómez, Isidro Ramos - Universidad Politécnica de Valencia

Feature metamodel In the feature metamodel the previous relationships are described by using the lowerbound and upperbound attributes. We have also extended the metamodel in order to enrich the features with attributes. Abel Gómez, Isidro Ramos - Universidad Politécnica de Valencia

Simplified UML-Class diagram metamodel We use Ecore as a simplified version of the UML Class diagram metamodel. * Simplified subset of the Ecore metamodel 5 Abel Gómez, Isidro Ramos - Universidad Politécnica de Valencia

Transformation From feature models to class diagrams 6 Abel Gómez, Isidro Ramos - Universidad Politécnica de Valencia

Feature2Class Each feature is transformed to a class (Eclass). 7 Abel Gómez, Isidro Ramos - Universidad Politécnica de Valencia

Feature2Class model : FeatureModel name = modelname feature : Feature classdiagram E pkg : EPackage name = modelname nsprefix = modelname nsuri modelname class : EClass eclassifiers 8 Abel Gómez, Isidro Ramos - Universidad Politécnica de Valencia

FeatureAttribute2ClassAttribute Each feature attribute is transformed to a class attribute (EAttribute). The type of the attribute is transformed to a EDataType. 9 Abel Gómez, Isidro Ramos - Universidad Politécnica de Valencia

FeatureAttribute2ClassAttribute model : FeatureModel name = modelname pkg : EPackage name = modelname nsprefix = modelname nsuri modelname eclassifiers feature : Feature type : EDataType name = featureatttype, instancetypename java.lang featureatttype attributes class : EClass featureattribute : Attribute name = featureattname, type = featureatttype type : EDataType etype estructuralfeatures eattribute : EAttribute name = featureattname 10 Abel Gómez, Isidro Ramos - Universidad Politécnica de Valencia

SimpleRelationship2Reference Each BinaryRelationship is transformed to a UML composition (containment EReference). The type of relationship determines de multiplicity of the EReference. 11 Abel Gómez, Isidro Ramos - Universidad Politécnica de Valencia

SimpleRelationship2Reference model : FeatureModel name = modelname nsuri pkg : EPackage modelname eclassifiers feature : Feature childclass : EClass name = childfeatname attributes class : EClass relationship : BinaryRelationship lowerbound = lower upperbound = upper estructuralfeatures childfeature child : Feature name = childfeatname childclass : EClass etype reference : EReference name = childfeatname containment = true lowerbound = lower upperbound = upper 12 Abel Gómez, Isidro Ramos - Universidad Politécnica de Valencia

MultipleRelationship2Reference Each GrouppedRelationship is transformed to a containment EReference. Each child feature inherits from a new class whose name derives from the parent feature. The inheritance relationship is set in the relation «MultipleRelationshipChilds2Classes» 13 Abel Gómez, Isidro Ramos - Universidad Politécnica de Valencia

MultipleRelationship2Reference typeclass : EClass Type abstract = true model : FeatureModel name = modelname eclassifiers eclassifiers classdiagram pkg : EPackage childclass : EClass E nsuri modelname name = childfeatname feature : Feature eclassifiers attributes relationship : GrouppedRelationship lowerbound = lower upperbound = upper childfeature child : Feature name = childfeatname parentclass : EClass reference : EReference containment = true lowerbound = lower upperbound = upper where MultipleRelationshipChilds2Classes(childFeature, typeclass, childclass); MultipleRelationshipChilds2Annot(childFeature, featurename, parentclass); estructuralfeatures Features etype typeclass : EClass 14 Abel Gómez, Isidro Ramos - Universidad Politécnica de Valencia

MultipleRelationshipChilds2Classes feature : Feature parentclass : EClass classdiagram E esupertypes typeclass : EClass typeclass : EClass typeclass : EClass 15 Abel Gómez, Isidro Ramos - Universidad Politécnica de Valencia

MultipleRelationshipChilds2Annot When the upperbound of the GrouppedRelationship is greater than 1, we can automatically generate OCL invariants to avoid duplicated elements in the feature model instance. 16 Abel Gómez, Isidro Ramos - Universidad Politécnica de Valencia

MultipleRelationshipChilds2Annot feature : Feature parentclass : EClass classdiagram E eannotations parentclassname : String oclannot : EAnnotation source details oclentry : EStringToStringMapEntry key multiplicity featurename value = oclexpresion where oclexpression = 'self.' + parentclassname + 'Features->select(f : ' + parentclassname + 'Type f.ocliskindof(' + featurename + '))->size() <= 1' 17 Abel Gómez, Isidro Ramos - Universidad Politécnica de Valencia

MultipleRelationshipChilds2Annot These OCL invariants can be checked automatically. In the example, the screenshot on the right has a duplicated module (Calendar). Moreover, any OCL invariant can be defined in order to check the consistency of the feature model instance. 18 Abel Gómez, Isidro Ramos - Universidad Politécnica de Valencia

Representing feature models as class diagrams Abel Gómez, Isidro Ramos Technical University of Valencia. Departamento de Sistemas Informáticos y Computación. 19 Abel Gómez, Isidro Ramos - Universidad Politécnica de Valencia