Generative Software Product Line Development using Variability-Aware Design Patterns



Similar documents
FeatureIDE: An Extensible Framework for Feature-Oriented Software Development

Colligens: A Tool to Support the Development of Preprocessor-based Software Product Lines in C

Defining and Checking Model Smells: A Quality Assurance Task for Models based on the Eclipse Modeling Framework

Overview. Stakes. Context. Model-Based Development of Safety-Critical Systems

2 nd ENAEE Conference, Leuven, September 2013 European Master of Advanced Industrial Management in the EHEA

DT-WBAN: Disruption Tolerant Wireless Body Area Networks in Healthcare Applications

Quality Assurance of Software Models within Eclipse using Java and OCL

VICCI. The Eclipse Modeling Framework (EMF) A Practical Introduction and Technology Overview. Dipl.-Inf. Christoph Seidl

Software Product Lines

Principles of integrated software development environments. Learning Objectives. Context: Software Process (e.g. USDP or RUP)

Form-flexible Handling Technology (FormHand) for Automation in RTM preforming

Android Labor #7 ἦ καὶ κυανέῃσιν ἐπ' ὀφρύσι νεῦσε Κρονίων ἀµβρόσιαι δ' ἄρα χαῖται ἐπερρώσαντο ἄνακτος κρατὸς ἀπ' ἀθανάτοιο µέγαν δ' ἐλέλιξεν Ὄλυµπον.

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

Post-Implementation Review

Delta-oriented Development of Software Product Lines

Model-Driven Development - From Frontend to Code

Taking Subversion to a Higher Level. Branching/Merging Support. Component Management Support. And More

How To Design Software

Winery A Modeling Tool for TOSCA-based Cloud Applications

Design of Visual Repository, Constraint and Process Modeling Tool based on Eclipse Plug-ins

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

Recent Trends: DTN Introduction & Applications

Metamodels and Modeling Multiple Kinds of Information Systems

Patterns in Domain Models

First Certified European Master Program of AIM

Development of a Feature Modeling Tool using Microsoft DSL Tools.

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

Model Driven Interoperability through Semantic Annotations using SoaML and ODM

Implementing reusable software components for SNOMED CT diagram and expression concept representations

Feature-Oriented Software Development

Jos Warmer, Independent

Tool Support for Software Variability Management and Product Derivation in Software Product Lines

Development of Tool Extensions with MOFLON

An eclipse-based Feature Models toolchain

Business-Driven Software Engineering Lecture 3 Foundations of Processes

Traceability Method for Software Engineering Documentation

Towards Flexible Business Process Modeling and Implementation: Combining Domain Specific Modeling Languages and Pattern-based Transformations

Chap 1. Introduction to Software Architecture

Open Source egovernment Reference Architecture Osera.modeldriven.org. Copyright 2006 Data Access Technologies, Inc. Slide 1

SPLConfig: Product Configuration in Software Product Line

Concern Driven Software Development

A Web Specific Language for Content Management Systems

Industrial Case Study on the Integration of SysML and AUTOSAR with Triple Graph Grammars

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

Foundations of Model-Driven Software Engineering

The ADOxx Metamodelling Platform Workshop "Methods as Plug-Ins for Meta-Modelling" in conjunction with "Modellierung 2010", Klagenfurt

Bridging the Gap between Variability in Client Application and Database Schema

Automated transformations from ECA rules to Jess

Extension of a SCA Editor and Deployment-Strategies for Software as a Service Applications

A Software Development Platform for SOA

Component visualization methods for large legacy software in C/C++

Profiling and Testing with Test and Performance Tools Platform (TPTP)

Bridging the Generic Modeling Environment (GME) and the Eclipse Modeling Framework (EMF)

Acknowledgments. p. 55

COCOVILA Compiler-Compiler for Visual Languages

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

Generating Enterprise Applications from Models

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

EMC Documentum Composer

Simplifying e Business Collaboration by providing a Semantic Mapping Platform

Model-driven development solutions To support your business objectives. IBM Rational Rhapsody edition comparison matrix

Unification of AOP and FOP in Model Driven Development

Incremental Model-based Testing of Delta-oriented Software Product Lines

2.2 Netbeans. 2.3 Apache Struts. 2.1 Eclipse. 2.4 ArgoUML

Umple: An Open-Source Tool for Easy-To-Use Modeling, Analysis, and Code Generation

INSTITUT FÜR INFORMATIK

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

Towards a Performance Model Management Repository for Component-based Enterprise Applications

8th IEEE/IFIP Network Operations and Management Symposium. A Case Driven Methodology for Applying the MNM Service Model

Transforming PICTURE to BPMN 2.0 as Part of the Model-driven Development of Electronic Government Systems

Terrestrial Media Delivery Beyond DVB-T2

PLEDGE: A Product Line Editor and Test Generation Tool

Transcription:

Platzhalter für Bild, Bild auf Titelfolie hinter das Logo einsetzen Generative Software Product Line Development using Variability-Aware Design Patterns Christoph Seidl, Sven Schuster, Ina Schaefer May 16, 2015

Idea: Use Best-Practices for Software Product Line Design Sven Schuster s Presentation Software Product Lines Design Patterns This Presentation Design Patterns Software Product Lines May 16, 2015 Christoph Seidl Generative Pattern-Based SPL Development Page 2

Overview Feature Models Strategy Template Method Composite Observer... Preprocessor FOP Delta Modeling... Mappings Java C++ UML Class Diagrams... May 16, 2015 Christoph Seidl Generative Pattern-Based SPL Development Page 3

Platzhalter für Bild, Bild auf Titelfolie hinter das Logo einsetzen Foundations

Variability-Aware Design Patterns Analyzed SPLs for design patterns Some design patterns are used to realize variability Pattern decomposition on features seems to follow certain rules Variability-Aware Design Patterns May 16, 2015 Christoph Seidl Generative Pattern-Based SPL Development Page 5

Role Modeling Design patterns are not a specific design Role modeling represents dynamic collaborations as blueprint for a design Roles may be mapped to various entities (parts of code, models etc.) Relations describe collaborations and restrain possible mapping Roles may represent patterns Roles may be mapped to a concrete design in various languages May 16, 2015 Christoph Seidl Generative Pattern-Based SPL Development Page 6

Challenge How to develop SPLs with variability-aware design patterns? 2 1 3 May 16, 2015 Christoph Seidl Generative Pattern-Based SPL Development Page 7

Platzhalter für Bild, Bild auf Titelfolie hinter das Logo einsetzen Specification of Design Patterns

Catalog of Variability-Aware Design Patterns Cataloged variability-aware design patterns Name Intent... Design pattern role model (DPRM) Usage within SPLs? Family role model (FRM) May 16, 2015 Christoph Seidl Generative Pattern-Based SPL Development Page 9

Family Role Model (FRM) to capture Variability-Awareness Represent demands on configuration options of the feature model (semantics) Independent of the concrete structure of the feature model (syntax) May 16, 2015 Christoph Seidl Generative Pattern-Based SPL Development Page 10

Making Design Patterns Variability-Aware Family Role Model (FRM) Captures demands on configuration options of feature model Mapping FRM to DPRM Captures how a design pattern is used within an SPL Variability-aware design pattern Design Pattern Role Model (DPRM) Captures entities of the design pattern and their relation May 16, 2015 Christoph Seidl Generative Pattern-Based SPL Development Page 11

Model-Based Catalog of Variability-Aware Design Patterns Composite Strategy Observer May 16, 2015 Christoph Seidl Generative Pattern-Based SPL Development Page 12

Summary: Design Pattern Specification 2 1 May 16, 2015 Christoph Seidl Generative Pattern-Based SPL Development Page 13

Platzhalter für Bild, Bild auf Titelfolie hinter das Logo einsetzen Application of Design Patterns

Mapping Family Role Model (FRM) to Concrete Feature Model? May 16, 2015 Christoph Seidl Generative Pattern-Based SPL Development Page 15

Summary: Mapping FRMs to Feature Models 2 1 3 May 16, 2015 Christoph Seidl Generative Pattern-Based SPL Development Page 16

Mapping DPRM to Realization Artifacts Multiple different types of realization artifact Java, C++, UML Class Diagrams etc. Pattern implemented differently, due to...... language... variability realization mechanism? May 16, 2015 Christoph Seidl Generative Pattern-Based SPL Development Page 17

Generation of Design Pattern Realization Artifacts Pattern implemented differently, due to...... language... variability realization mechanism May 16, 2015 Christoph Seidl Generative Pattern-Based SPL Development Page 18

Model-Based Generation May 16, 2015 Christoph Seidl Generative Pattern-Based SPL Development Page 19

Composers: Eclipse Extension for Model-Based Generation Composite Antenna Strategy Composer 1 Composer 3 DeltaJ Observer Composer 2 FOP Java UML Class Diagrams May 16, 2015 Christoph Seidl Generative Pattern-Based SPL Development Page 20

Summary: Generation of Design Pattern Realization Artifacts 2 1 3 May 16, 2015 Christoph Seidl Generative Pattern-Based SPL Development Page 21

Implementation Eclipse IDE Model-Based with EMF Ecore Meta model for Role Models (FRM/DPRM), Design Pattern Catalog, Feature Model Generation is Model-Based (but does not have to be) May 16, 2015 Christoph Seidl Generative Pattern-Based SPL Development Page 22

Currently Supported Pattern Realizations Pattern Variability Realization Mechanism Language Observer Antenna Java Feature-Oriented Programming Java, UML Class Diagrams DeltaJ Java Composite Antenna Java Feature-Oriented Programming Java, UML Class Diagrams DeltaJ Java Strategy Antenna Java Feature-Oriented Programming Java, UML Class Diagrams DeltaJ Java May 16, 2015 Christoph Seidl Generative Pattern-Based SPL Development Page 23

Conclusion Generative Software Product Line Development using Variability-Aware Design Patterns Support proactive and reaktive development Mapping and Validation Mapping and Generation May 16, 2015 Christoph Seidl Generative Pattern-Based SPL Development Page 24

Questions? Comments? Feedback? May 16, 2015 Christoph Seidl Generative Pattern-Based SPL Development Page 25