FeatureIDE: Background

Size: px
Start display at page:

Download "FeatureIDE: Background"

Transcription

1 FeatureIDE: Background Thomas Thüm, Jens Meinicke March 4, 2015

2 Feature-Oriented Programming (FOP) Introduced 1997 by Christian Prehofer Based on Object-Oriented Programming Features realize functionalities Features are cross-cutting to objects Features modularize fragments from certain classes Fragment contains some methods/fields of a class belonging to one functionality Goals: code traceability, software customization Thomas Thüm, Jens Meinicke FeatureIDE: Background 2

3 Kästner, Apel, Saake EPMD Folie 6-48 package util; class Calc { void add() { e0 = e1 + e0; e1 = e2; feature: Add Komposition FOP Example durch Überlagerung von Bäumen feature: CalcBase package util; class Calc { int e0 = 0, e1 = 0, e2 = 0; = void enter(int val) { e2 = e1; e1 = e0; e0 = val; void clear() { e0 = e1 = e2 = 0; String top() { return String. valueof(e0); feature: CalcAdd package util; class Calc { int e0 = 0, e1 = 0, e2 = 0; void enter(int val) { e2 = e1; e1 = e0; e0 = val; void clear() { e0 = e1 = e2 = 0; String top() { //... void add() { e0 = e1 + e0; e1 = e2; util Calc util Calc = util Calc add e0 e1 e2 top enter clear e0 e1 e2 top enter clear add Thomas Thüm, Jens Meinicke FeatureIDE: Background 3

4 Composition Engines Feature Orientated Command-line tools used to compose files within FeatureIDE: AHEAD (mixin):.jak (Java 1.4) schwartz/ats.html FeatureC++:.cpp (C++) FeatureHouse:.java (Java 1.5),.cs (C#),.c/.h (C),.hs (Haskell),.jj (JavaCC),.als (Alloy),.xmi (UML) Thomas Thüm, Jens Meinicke FeatureIDE: Background 4

5 Composition Engines Non Feature Orientated Command-line tools used to compose files within FeatureIDE: AspectJ(Aspectorientated Java):.aj(Aspect File),.java DeltaJ(Deltaoriantated Java):.dj(Core and Delta Modules) Munge: Preprocessor Antenna: Preprocessor Thomas Thüm, Jens Meinicke FeatureIDE: Background 5

6 Configuration Selection of features Composition of features results in a program variant Not all combinations are useful Thomas Thüm, Jens Meinicke FeatureIDE: Background 6

7 Feature Model Specifies valid combinations of features Graphically represented by a feature diagram Created for a particular domain Describes a software product line (SPL) Directed Undirected Number Cycle And-group Or-group Layer1 Optional Layer2 Thomas Thüm, Jens Meinicke FeatureIDE: Background 7

8 Feature Model Specifies valid combinations of features Graphically represented by a feature diagram Created for a particular domain Describes a software product line (SPL) And-group Directed Undirected Number Cycle And-group Or-group Layer1 Optional Layer2 Thomas Thüm, Jens Meinicke FeatureIDE: Background 7

9 Feature Model Specifies valid combinations of features Graphically represented by a feature diagram Created for a particular domain Describes a software product line (SPL) Directed Undirected Number Cycle And-group Or-group Layer1 Optional Layer2 Thomas Thüm, Jens Meinicke FeatureIDE: Background 7

10 Feature Model Specifies valid combinations of features Graphically represented by a feature diagram Created for a particular domain Describes a software product line (SPL) Optional Directed Undirected Number Cycle And-group Or-group Layer1 Optional Layer2 Thomas Thüm, Jens Meinicke FeatureIDE: Background 7

11 Feature Model Specifies valid combinations of features Graphically represented by a feature diagram Created for a particular domain Describes a software product line (SPL) Directed Undirected Number Cycle And-group Or-group Layer1 Optional Layer2 Thomas Thüm, Jens Meinicke FeatureIDE: Background 7

12 Feature Model Specifies valid combinations of features Graphically represented by a feature diagram Created for a particular domain Describes a software product line (SPL) Directed Undirected Number Cycle Or-group And-group Or-group Layer1 Optional Layer2 Thomas Thüm, Jens Meinicke FeatureIDE: Background 7

13 Feature Model Specifies valid combinations of features Graphically represented by a feature diagram Created for a particular domain Describes a software product line (SPL) Cross-tree constraints Directed Undirected Number Cycle And-group Or-group Layer1 Optional Layer2 Thomas Thüm, Jens Meinicke FeatureIDE: Background 7

14 Feature-Oriented Software Development (FOSD) Directed Undirected Number Cycle Feature Model Feature Modules Configurations Composer Program Variants Thomas Thüm, Jens Meinicke FeatureIDE: Background 8

FeatureIDE: Overview. Thomas Thüm, Jens Meinicke. October 23, 2015

FeatureIDE: Overview. Thomas Thüm, Jens Meinicke. October 23, 2015 FeatureIDE: Overview Thomas Thüm, Jens Meinicke October 23, 2015 FeatureIDE Project Structure Feature model file in a supported format (default: xml) Thomas Thüm, Jens Meinicke FeatureIDE: Overview 2 FeatureIDE

More information

Science of Computer Programming

Science of Computer Programming Science of Computer Programming 79 (2014) 70 85 Contents lists available at ScienceDirect Science of Computer Programming journal homepage: www.elsevier.com/locate/scico FeatureIDE: An extensible framework

More information

FeatureIDE: Development

FeatureIDE: Development FeatureIDE: Development Thomas Thüm, Jens Meinicke March 4, 2015 Installing Eclipse 1. Download Eclipse: http://www.eclipse.org/downloads/ 4.3 (Kepler) is recommended (works also with 3.4 and newer) Choose

More information

Feature-oriented programming

Feature-oriented programming Feature-oriented programming Tero Hasu tero@ii.uib.no INF329 course 16 April 2012 contents focus on feature-oriented programming many methods and tools we pick one and focus mostly on it but do mention

More information

JML in Feature-Oriented Programming

JML in Feature-Oriented Programming JML in Feature-Oriented Programming Fabian Benduhn, Supervisor:Thomas Thüm March 23rd, 2012 University of Magdeburg, Germany Java Modeling Language (JML) Specification language for Java Specification as

More information

VarexJ: A Variability-Aware Java Interpreter

VarexJ: A Variability-Aware Java Interpreter VarexJ: A Variability-Aware Java Interpreter Testing Configurable Systems Jens Meinicke, Chu-Pan Wong, Christian Kästner FOSD Meeting 2015 Feature Interaction Jens Meinicke VarexJ - Testing Configurable

More information

A Taxonomy of Software Product Line Reengineering

A Taxonomy of Software Product Line Reengineering A Taxonomy of Software Product Line Reengineering Wolfram Fenske, Thomas Thüm, Gunter Saake January 22th, 2014 University of Magdeburg, Germany Motivation (1) Widely accepted definition of refactoring

More information

Mastering Software Variability with FeatureIDE

Mastering Software Variability with FeatureIDE Mastering Software Variability with FeatureIDE Jens Meinicke Thomas ThRum Reimar SchrRoter Fabian Benduhn Thomas Leich Gunter Saake Mastering Software Variability with FeatureIDE 123 Jens Meinicke Carnegie

More information

SOFTWARE PRODUCT LINES: CONCEPTS AND IMPLEMENTATION QUALITY ASSURANCE: SAMPLING

SOFTWARE PRODUCT LINES: CONCEPTS AND IMPLEMENTATION QUALITY ASSURANCE: SAMPLING 1 17-708 SOFTWARE PRODUCT LINES: CONCEPTS AND IMPLEMENTATION QUALITY ASSURANCE: SAMPLING CHRISTIAN KAESTNER CARNEGIE MELLON UNIVERSITY INSTITUTE FOR SOFTWARE RESEARCH READING ASSIGNMENT NOV 16 Textbook

More information

Sven Apel Don Batory Christian Kastner. Gunter Saake. Feature-Oriented Software Product Lines. Concepts and Implementation.

Sven Apel Don Batory Christian Kastner. Gunter Saake. Feature-Oriented Software Product Lines. Concepts and Implementation. Sven Apel Don Batory Christian Kastner Gunter Saake Feature-Oriented Software Product Lines Concepts and Implementation ^ Springer Contents Part I Software Product Lines 1 Software Product Lines 3 1.1

More information

University of Magdeburg. School of Computer Science. Bachelor s Thesis. Contract-Aware Feature Composition. Author: Fabian Benduhn.

University of Magdeburg. School of Computer Science. Bachelor s Thesis. Contract-Aware Feature Composition. Author: Fabian Benduhn. University of Magdeburg School of Computer Science Bachelor s Thesis Contract-Aware Feature Composition Author: Fabian Benduhn October 01, 2012 Advisors: Prof. Dr. rer. nat. habil. Gunter Saake Dipl.-Inform.

More information

FeatureIDE in a Nutshell

FeatureIDE in a Nutshell FeatureIDE in a Nutshell 3 FeatureIDE implements a general support to implement feature-oriented software product lines. In this chapter, we give a general overview on the functionalities of FeatureIDE.

More information

31. Feature Models and MDA for Product Lines

31. Feature Models and MDA for Product Lines Fakultät Informatik - Institut Software- und Multimediatechnik - Softwaretechnologie Prof. Aßmann - Softwaretechnologie II 31. Feature Models and MDA for Product Lines Prof. Dr. U. Aßmann Technische Universität

More information

Tool Demo: Testing Configurable Systems with FeatureIDE

Tool Demo: Testing Configurable Systems with FeatureIDE Tool Demo: Testing Configurable Systems with FeatureIDE Mustafa Al-Hajjaji, 1 Jens Meinicke, 1,2 Sebastian Krieter, 1 Reimar Schröter, 1 Thomas Thüm, 3 Thomas Leich, 2 Gunter Saake 1 1 University of Magdeburg,

More information

An Overview of Feature-Oriented Software Development

An Overview of Feature-Oriented Software Development Vol. 8, No. 4, July August 2009 An Overview of Feature-Oriented Software Development Sven Apel, Department of Informatics and Mathematics, University of Passau, Germany Christian Kästner, School of Computer

More information

Integrating Compositional and Annotative Approaches for Product Line Engineering

Integrating Compositional and Annotative Approaches for Product Line Engineering Integrating Compositional and Annotative Approaches for Product Line Engineering Christian Kästner School of Computer Science University of Magdeburg, Germany kaestner@iti.cs.uni-magdeburg.de Sven Apel

More information

Feature-Oriented Software Development

Feature-Oriented Software Development Feature-Oriented Software Development A Short Tutorial on Feature-Oriented Programming, Virtual Separation of Concerns, and Variability-Aware Analysis Christian Kästner 1 and Sven Apel 2 1 Philipps University

More information

Experience from Implementing a Complex Eclipse Extension for Software Product Line Engineering

Experience from Implementing a Complex Eclipse Extension for Software Product Line Engineering Experience from Implementing a Complex Eclipse Extension for Software Product Line Engineering Sascha El-Sharkawy, Christian Kröher, Holger Eichelberger, Klaus Schmid University of Hildesheim, Universitätsplatz

More information

JOURNAL OF OBJECT TECHNOLOGY

JOURNAL OF OBJECT TECHNOLOGY JOURNAL OF OBJECT TECHNOLOGY Online at http://www.jot.fm. Published by ETH Zurich, Chair of Software Engineering JOT, 2005 Vol. 4, No. 3 Special issue: 6th GPCE Young Researchers Workshop 2004 Feature

More information

Abstract Features in Feature Modeling

Abstract Features in Feature Modeling 2011 15th International Software Product Line Conference Abstract Features in Feature Modeling Thomas Thüm, Christian Kästner, Sebastian Erdweg, and Norbert Siegmund University of Magdeburg, Germany Philipps

More information

Structural Feature Interaction Patterns Case Studies and Guidelines

Structural Feature Interaction Patterns Case Studies and Guidelines Structural Feature Interaction Patterns Case Studies and Guidelines Sven Schuster, Sandro Schulze, Ina Schaefer Technische Universität Braunschweig {s.schuster,sanschul,i.schaefer@tu-braunschweig.de ABSTRACT

More information

Feature-Oriented Programming with Family Polymorphism

Feature-Oriented Programming with Family Polymorphism Feature-Oriented Programming with Family Polymorphism Fuminobu Takeyama Shigeru Chiba Tokyo Institute of Technology, Japan http://www.csg.is.titech.ac.jp/ {f takeyama,chiba Abstract In feature-oriented

More information

On the Relation of Type Errors and Static Attributes of Feature-Oriented Product Lines

On the Relation of Type Errors and Static Attributes of Feature-Oriented Product Lines Passau University Department of Informatics and Mathematics Master s Thesis On the Relation of Type Errors and Static Attributes of Feature-Oriented Product Lines Author: Judith Roth First Supervisor:

More information

53) Feature Models, Domain Models and Product Lines

53) Feature Models, Domain Models and Product Lines Fakultät Informatik, Institut für Software- und Multimediatechnik, Lehrstuhl für Softwaretechnologie 53) Feature Models, Domain Models and Product Lines 1. Feature Models 2. Product Linie Configuration

More information

Delta-oriented Programming of Software Product Lines

Delta-oriented Programming of Software Product Lines Delta-oriented Programming of Software Product Lines Ina Schaefer 1, Lorenzo Bettini 2, Viviana Bono 2, Ferruccio Damiani 2, and Nico Tanzarella 2 1 Chalmers University of Technology, 421 96 Gothenburg,

More information

VITAL: Variability Improvement Analysis of Software Product Line Infrastructure

VITAL: Variability Improvement Analysis of Software Product Line Infrastructure FOSD Meeting 2014 VITAL: Variability Improvement Analysis of Software Product Line Infrastructure Bo Zhang University of Kaiserslautern Kaiserslautern, Germany bo.zhang@cs.uni-kl.de 2014-05-05 Context

More information

Name Resolution Strategies in Variability Realization Languages for Software Product Lines

Name Resolution Strategies in Variability Realization Languages for Software Product Lines Platzhalter für Bild, Bild auf Titelfolie hinter das Logo einsetzen Name Resolution Strategies in Variability Realization Languages for Software Product Lines Sven Schuster, Christoph Seidl, Ina Schaefer

More information

Delta Oriented Programming

Delta Oriented Programming DCC / ICEx / UFMG Delta Oriented Programming Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo Feature Oriented Programming Feature Oriented Programming (FOP) relies on stepwise refinements In FOP,

More information

A Taxonomy of Software Product Line Reengineering

A Taxonomy of Software Product Line Reengineering A Taxonomy of Software Product Line Reengineering Wolfram Fenske University of Magdeburg wfenske@ovgu.de Thomas Thüm University of Magdeburg tthuem@ovgu.de Gunter Saake University of Magdeburg saake@ovgu.de

More information

Automating the Synchronization of Software Variants

Automating the Synchronization of Software Variants University of Magdeburg School of Computer Science Master s Thesis Automating the Synchronization of Software Variants Author: Tristan Pfofe December 21, 2015 Advisors: Prof. Gunter Saake Dipl.-Inform.

More information

TypeChef: Towards Correct Variability Analysis of Unpreprocessed C Code for Software Product Lines

TypeChef: Towards Correct Variability Analysis of Unpreprocessed C Code for Software Product Lines TypeChef: Towards Correct Variability Analysis of Unpreprocessed C Code for Software Product Lines Paolo G. Giarrusso 04 March 2011 Software product lines (SPLs) Feature selection SPL = 1 software project

More information

Variability Hiding in Contracts for Dependent Software Product Lines

Variability Hiding in Contracts for Dependent Software Product Lines Variability Hiding in Contracts for Dependent Software Product Lines Thomas Thüm, Tim Winkelmann TU Braunschweig Germany Reimar Schröter University of Magdeburg Germany Martin Hentschel, Stefan Krüger

More information

Constraints in Feature Algebra

Constraints in Feature Algebra Constraints in Feature Algebra Andreas Zelend 13th Int l Conference on Relational and Algebraic Methods in Computer Science 20. September 2012 Cambridge 2012 1 c Andreas Zelend The Feature Algebra Goals

More information

The most common relationships are: dependency, association, generalization, and realization.

The most common relationships are: dependency, association, generalization, and realization. UML Class Diagram A class diagram describes the structure of an object-oriented system by showing the classes (and interfaces) in that system and the relationships between the classes (and interfaces).

More information

Analysis Strategies for Software Product Lines

Analysis Strategies for Software Product Lines Analysis Strategies for Software Product Lines THOMAS THÜM, University of Magdeburg, Germany, SVEN APEL, University of Passau, Germany, CHRISTIAN KÄSTNER, Philipps University Marburg, Germany, MARTIN KUHLEMANN,

More information

Feature-Interaction Detection based on Feature-Based Specifications

Feature-Interaction Detection based on Feature-Based Specifications Feature-Interaction Detection based on Feature-Based Specifications Sven Apel a,, Alexander von Rhein a, Thomas Thüm b, Christian Kästner c a University of Passau, Germany b University of Magdeburg, Germany

More information

Dynamically Adaptable Software Product Lines Using Ruby Metaprogramming

Dynamically Adaptable Software Product Lines Using Ruby Metaprogramming Dynamically Adaptable Software Product Lines Using Ruby Metaprogramming Sebastian Günther and Sagar Sunkle School of Computer Science University of Magdeburg, Germany sebastian.guenther@ovgu.de sagar.sunkle@ovgu.de

More information

Streamlining Feature-Oriented Designs

Streamlining Feature-Oriented Designs Streamlining Feature-Oriented Designs Martin Kuhlemann, Sven Apel, and Thomas Leich School of Computer Science, University of Magdeburg, Germany, {kuhlemann,apel,leich}@iti.cs.uni-magdeburg.de Abstract.

More information

Model Superimposition in Software Product Lines

Model Superimposition in Software Product Lines Model Superimposition in Software Product Lines Sven Apel 1, Florian Janda 1, Salvador Trujillo 2, and Christian Kästner 3 1 Department of Informatics and Mathematics, University of Passau, Germany, {apel,janda04}@uni-passau.de

More information

Software Product Lines Charlie Garrod, Christian Kästner

Software Product Lines Charlie Garrod, Christian Kästner Software Product Lines 15-214 Charlie Garrod, Christian Kästner 1 Reuse and Variations 15-214 Kaestner toad 3 15-214 Kaestner toad 4 15-214 Kaestner toad 5 15-214 Kaestner toad 6 Reuse and Variation Configuration

More information

Apo-Games - A Case Study for Reverse Engineering Variability from Cloned Java Variants

Apo-Games - A Case Study for Reverse Engineering Variability from Cloned Java Variants Apo-Games - A Case Study for Reverse Engineering Variability from Cloned Java Variants Jacob Krüger Harz University of Applied Science Otto-von-Guericke-University Wernigerode & Magdeburg, Germany jkrueger@ovgu.de

More information

The PLA Model: On the Combination of Product-Line Analyses

The PLA Model: On the Combination of Product-Line Analyses The PLA Model: On the Combination of Product-Line Analyses Alexander von Rhein University of Passau Germany Sven Apel University of Passau Germany Christian Kästner Carnegie Mellon University USA Thomas

More information

FEATURE ORIENTED-PROGRAMMING: BACK TO THE FUTURE

FEATURE ORIENTED-PROGRAMMING: BACK TO THE FUTURE FEATURE ORIENTED-PROGRAMMING: BACK TO THE FUTURE Christian Prehofer Fraunhofer ESK, Munich, Germany, christian.prehofer@esk.fraunhofer.de Ludwig-Maximilians-Universität München Programming and Software

More information

Seminar on Modern Software Engineering and Database Concepts. Academic Writing II

Seminar on Modern Software Engineering and Database Concepts. Academic Writing II Seminar on Modern Software Engineering and Database Concepts Academic Writing II David Broneske, Wolfram Fenske, Jakob Krüger, Andreas Meister, Marcus Pinnecke, and Gunter Saake Christian Kästner, Carnegie

More information

Modularization of Refinement Steps for Agile Formal Methods

Modularization of Refinement Steps for Agile Formal Methods Modularization of Refinement Steps for Agile Formal Methods Fabian Benduhn 1, Thomas Thüm 2, Ina Schaefer 2, and Gunter Saake 1 1 University of Magdeburg, Germany 2 TU Braunschweig, Germany Abstract. The

More information

Virtual Separation of Concerns: Toward Preprocessors 2.0 1

Virtual Separation of Concerns: Toward Preprocessors 2.0 1 Distinguished Dissertations it 1/2012 Virtual Separation of Concerns: Toward Preprocessors 2.0 1 Virtuelle Trennung von Belangen: Ein Schritt zu Präprozessoren 2.0 Christian Kästner, Laureate of the GI

More information

Functional programming in mainstream languages. CS 3110 Lecture 26 Andrew Myers

Functional programming in mainstream languages. CS 3110 Lecture 26 Andrew Myers Functional programming in mainstream languages CS 3110 Lecture 26 Andrew Myers Some functional language features Higher-order functions Freedom from side effects Polymorphism Pattern matching Modules (structures,

More information

University of Marburg Department of Mathematics & Computer Science. Bachelor Thesis. Variability-Aware Interpretation. Author: Jonas Pusch

University of Marburg Department of Mathematics & Computer Science. Bachelor Thesis. Variability-Aware Interpretation. Author: Jonas Pusch University of Marburg Department of Mathematics & Computer Science Bachelor Thesis Variability-Aware Interpretation Author: Jonas Pusch October 11, 2012 Advisors: Prof. Dr. Klaus Ostermann University of

More information

An Algebraic Foundation for Automatic Feature-Based Program Synthesis

An Algebraic Foundation for Automatic Feature-Based Program Synthesis An Algebraic Foundation for Automatic Feature-Based Program Synthesis Sven Apel a, Christian Lengauer a, Bernhard Möller b, Christian Kästner c a Department of Informatics and Mathematics, University of

More information

Introduction to Computer Science I

Introduction to Computer Science I Introduction to Computer Science I Classes Janyl Jumadinova 5-7 March, 2018 Classes Most of our previous programs all just had a main() method in one file. 2/13 Classes Most of our previous programs all

More information

Supplementary Test 1

Supplementary Test 1 Name: Please fill in your Student Number and Name. Student Number : Student Number: University of Cape Town ~ Department of Computer Science Computer Science 1015F ~ 2009 Supplementary Test 1 Question

More information

Scientific Seminar. Academic Writing II. David Broneske et al. Christian Kästner, Carnegie Mellon University, USA

Scientific Seminar. Academic Writing II. David Broneske et al. Christian Kästner, Carnegie Mellon University, USA Scientific Seminar Academic Writing II David Broneske et al. Christian Kästner, Carnegie Mellon University, USA http://www.cs.cmu.edu/~ckaestne/ KEEP IT SHORT AND SIMPLE Remove clutter Use short words

More information

Virtual Separation of Concerns A Second Chance for Preprocessors

Virtual Separation of Concerns A Second Chance for Preprocessors Virtual Separation of Concerns A Second Chance for Preprocessors Vol. 8, No. 6, September October 2009 Christian Kästner, School of Computer Science, University of Magdeburg, Germany Sven Apel, Department

More information

CS 112 Introduction to Computing II. Wayne Snyder Computer Science Department Boston University

CS 112 Introduction to Computing II. Wayne Snyder Computer Science Department Boston University 9/5/6 CS Introduction to Computing II Wayne Snyder Department Boston University Today: Arrays (D and D) Methods Program structure Fields vs local variables Next time: Program structure continued: Classes

More information

Academic Writing II. Sandro Schulze. Parts of the Material by Christian Kästner (Carnegie Mellon)

Academic Writing II. Sandro Schulze. Parts of the Material by Christian Kästner (Carnegie Mellon) Academic Writing II Sandro Schulze Parts of the Material by Christian Kästner (Carnegie Mellon) Keep it short and simple Remove clutter Use short words Keep sentences short with simple structure One topic

More information

Universität Augsburg

Universität Augsburg Universität Augsburg An Extension for Feature Algebra Peter Höfner Bernhard Möller Report 2010-09 October 2010 Institut für Informatik D-86135 Augsburg Copyright c Peter Höfner Bernhard Möller Institut

More information

DeltaJ Enhancing Software Product Line Development using Xtext

DeltaJ Enhancing Software Product Line Development using Xtext Platzhalter für Bild, Bild auf Titelfolie hinter das Logo einsetzen DeltaJ Enhancing Software Product Line Development using Xtext Sven Schuster May 20, 2015 Institute of Software Engineering and Automotive

More information

Refactoring Delta-Oriented Software Product Lines

Refactoring Delta-Oriented Software Product Lines Refactoring Delta-Oriented Software Product Lines Sandro Schulze TU Braunschweig Braunschweig, Germany sanschul@tu-bs.de Oliver Richers TU Braunschweig Braunschweig, Germany oliver.richers@gmail.com Ina

More information

Otto-von-Guericke-Universität Magdeburg. Fakultät für Informatik Institut für Technische und Betriebliche Informationssysteme.

Otto-von-Guericke-Universität Magdeburg. Fakultät für Informatik Institut für Technische und Betriebliche Informationssysteme. Otto-von-Guericke-Universität Magdeburg Fakultät für Informatik Institut für Technische und Betriebliche Informationssysteme Master Thesis Modeling and Implementation of Dependent Software Product Lines

More information

Variability in Service-Oriented Systems: An Analysis of Existing Approaches

Variability in Service-Oriented Systems: An Analysis of Existing Approaches Variability in -Oriented Systems: An Analysis of Existing Approaches Holger Eichelberger, Christian Kröher, and Klaus Schmid Software Systems Engineering, University of Hildesheim Marienburger Platz 22,

More information

Detecting Dependences and Interactions in Feature-Oriented Design

Detecting Dependences and Interactions in Feature-Oriented Design 2010 2010 IEEE 21st 21st International Symposium on on Software Reliability Engineering Detecting Dependences and Interactions in Feature-Oriented Design Sven Apel, Wolfgang Scholz, Christian Lengauer

More information

Access Control in Feature-Oriented Programming

Access Control in Feature-Oriented Programming Access Control in Feature-Oriented Programming Sven Apel a, Sergiy Kolesnikov a, Jörg Liebig a, Christian Kästner b, Martin Kuhlemann c, Thomas Leich d a Department of Informatics and Mathematics, University

More information

Object-Oriented Modeling Using UML. CS151 Chris Pollett Aug. 29, 2005.

Object-Oriented Modeling Using UML. CS151 Chris Pollett Aug. 29, 2005. Object-Oriented Modeling Using UML CS151 Chris Pollett Aug. 29, 2005. Outline Objects and Classes Modeling Relationships and Structures Some Terms and Concepts Objects and classes are fundamental to OO

More information

Type Checking Annotation-Based Product Lines

Type Checking Annotation-Based Product Lines A Type Checking Annotation-Based Product Lines CHRISTIAN KÄSTNER, Philipps University Marburg SVEN APEL, University of Passau THOMAS THÜM and GUNTER SAAKE, University of Magdeburg Software-product-line

More information

Semantically Configurable Consistency Analysis for Class and Object Diagrams

Semantically Configurable Consistency Analysis for Class and Object Diagrams Semantically Configurable Consistency Analysis for Class and Object Diagrams Shahar Maoz, Jan Oliver Ringert, and Bernhard Rumpe Software Engineering RWTH Aachen University, Germany http://www.se-rwth.de/

More information

Superimposition: A Language-Independent Approach to Software Composition

Superimposition: A Language-Independent Approach to Software Composition Superimposition: A Language-Independent Approach to Software Composition Sven Apel and Christian Lengauer Department of Informatics and Mathematics University of Passau, Germany {apel,lengauer}@uni-passau.de

More information

Quantifying and Assessing the Merge of Cloned Web-Based System: An Exploratory Study

Quantifying and Assessing the Merge of Cloned Web-Based System: An Exploratory Study Quantifying and Assessing the Merge of Cloned Web-Based System: An Exploratory Study Jadson Santos Department of Informatics and Applied Mathematics Federal University of Rio Grande do Norte, UFRN Natal,

More information

Functions & First Class Function Values

Functions & First Class Function Values Functions & First Class Function Values PLAI 1st ed Chapter 4, PLAI 2ed Chapter 5 The concept of a function is itself very close to substitution, and to our with form. Consider the following morph 1 {

More information

Unit Testing and JUnit

Unit Testing and JUnit Unit Testing and JUnit Moinul Hossain CS 791Z 03/02/2015 Outline What is Software Testing? What and Why Unit Testing? JUnit JUnit features and Examples Test Driven Development (TDD) What is Software Testing?

More information

AN ABSTRACT OF THE THESIS OF

AN ABSTRACT OF THE THESIS OF AN ABSTRACT OF THE THESIS OF Meng Meng for the degree of Master of Science in Computer Science presented on September 22, 2017. Title: Implementation Techniques for Variational Data Structures Abstract

More information

Design Patterns. Paul Jackson. School of Informatics University of Edinburgh

Design Patterns. Paul Jackson. School of Informatics University of Edinburgh Design Patterns Paul Jackson School of Informatics University of Edinburgh Design Patterns Reuse of good ideas A pattern is a named, well understood good solution to a common problem. Experienced designers

More information

Mapping Features to Aspects

Mapping Features to Aspects Mapping Features to Aspects The Road from Crosscutting to Product Lines (Work in Progress) Roberto E. Lopez-Herrejon Computing Laboratory Oxford University 1 Motivation Features Feature Informally: A characteristic

More information

Experiments on Type Checking of Software Product Lines

Experiments on Type Checking of Software Product Lines University of Passau Department of Informatics and Mathematics Master s Thesis Experiments on Type Checking of Software Product Lines Author: Claus Hunsen July 05, 2013 Advisors: Dr.-Ing. Sven Apel Software

More information

Implementing Feature Interactions with Generic Feature Modules

Implementing Feature Interactions with Generic Feature Modules Implementing Feature Interactions with Generic Feature Modules Fuminobu Takeyama 1 and Shigeru Chiba 23 1 Tokyo Institute of Technology, Japan http://www.csg.ci.i.u-tokyo.ac.jp/ f takeyama 2 The Univiersity

More information

Software Engineering Design & Construction

Software Engineering Design & Construction Winter Semester 16/17 Software Engineering Design & Construction Dr. Michael Eichberg Fachgebiet Softwaretechnik Technische Universität Darmstadt Software Product Line Engineering based on slides created

More information

A Calculus for Modeling and Implementing Variation

A Calculus for Modeling and Implementing Variation A Calculus for Modeling and Implementing Variation Eric Walkingshaw School of EECS Oregon State University walkiner@eecs.oregonstate.edu Martin Erwig School of EECS Oregon State University erwig@eecs.oregonstate.edu

More information

Fitting the Pieces Together: A Machine-Checked Model of Safe Composition. Benjamin Delaware William Cook Don Batory University of Texas at Austin

Fitting the Pieces Together: A Machine-Checked Model of Safe Composition. Benjamin Delaware William Cook Don Batory University of Texas at Austin Fitting the Pieces Together: A Machine-Checked Model of Safe Composition Benjamin Delaware William Cook Don Batory University of Texas at Austin Safe Composition Features Word Processor has formatting,

More information

CS 261. Dynamic Arrays Introduction by Tim Budd Ron Metoyer Sinisa Todorovic

CS 261. Dynamic Arrays Introduction by Tim Budd Ron Metoyer Sinisa Todorovic CS 261 Dynamic Arrays Introduction by Tim Budd Ron Metoyer Sinisa Todorovic Arrays Core data structure Example: double arraybag[100]; struct Students{ int count; char initials[2]; } Arrays -- Positives

More information

CS 314 Principles of Programming Languages

CS 314 Principles of Programming Languages CS 314 Principles of Programming Languages Lecture 15: Review and Functional Programming Zheng (Eddy) Zhang Rutgers University March 19, 2018 Class Information Midterm exam forum open in Sakai. HW4 and

More information

Oracle Exam 1z0-808 Java SE 8 Programmer I Version: 6.0 [ Total Questions: 236 ]

Oracle Exam 1z0-808 Java SE 8 Programmer I Version: 6.0 [ Total Questions: 236 ] s@lm@n Oracle Exam 1z0-808 Java SE 8 Programmer I Version: 6.0 [ Total Questions: 236 ] Oracle 1z0-808 : Practice Test Question No : 1 What is the result? A. 10 : 10 B. 5 : 5 C. 5 : 10 D. Compilation fails

More information

Compositional Model Based Software Development

Compositional Model Based Software Development Compositional Model Based Software Development Prof. Dr. Bernhard Rumpe http://www.se-rwth.de/ Seite 2 Our Working Groups and Topics Automotive / Robotics Autonomous driving Functional architecture Variability

More information

52. Staged Software Architectures with Staged Composition

52. Staged Software Architectures with Staged Composition 52. Staged Software Architectures with Staged Composition Prof. Dr. Uwe Aßmann Technische Universität Dresden Institut für Software- und Multimediatechnologie Version 14-1.0, 12.07.14 1) Web programming

More information

COMP-202: Foundations of Programming. Lecture 7: Strings and Methods Jackie Cheung, Winter 2015

COMP-202: Foundations of Programming. Lecture 7: Strings and Methods Jackie Cheung, Winter 2015 COMP-202: Foundations of Programming Lecture 7: Strings and Methods Jackie Cheung, Winter 2015 Announcements Quiz 2 due tonight at 11:59pm New grades policy: lowest quiz mark dropped Assignment 2 due in

More information

A Tool Support for Automatic Detection of Duplicate Features during Software Product Lines Evolution

A Tool Support for Automatic Detection of Duplicate Features during Software Product Lines Evolution www.ijcsi.org 1 A Tool Support for Automatic Detection of Duplicate Features during Software Product Lines Evolution Amal Khtira, Anissa Benlarabi, Bouchra El Asri IMS Team, SIME Laboratory, ENSIAS Mohammed

More information

SECURE INTEGRATION OF CRYPTOGRAPHIC SOFTWARE

SECURE INTEGRATION OF CRYPTOGRAPHIC SOFTWARE SECURE INTEGRATION OF CRYPTOGRAPHIC SOFTWARE Speaker: Stefan Krüger Folie 1 When a Developer Uses a Crypto API Uses Electronic Codebook (ECB) Folie 2 The Average Developer is no Crypto Expert 88% of Android

More information

The Expression Problem as a Product Line and its Implementation in AHEAD

The Expression Problem as a Product Line and its Implementation in AHEAD The Expression Problem as a Product Line and its Implementation in AHEAD Roberto E. Lopez-Herrejon and Don Batory Department of Computer Sciences University of Texas at Austin Austin, Texas, 78712 U.S.A.

More information

CS 33. Data Representation, Part 2. CS33 Intro to Computer Systems VIII 1 Copyright 2017 Thomas W. Doeppner. All rights reserved.

CS 33. Data Representation, Part 2. CS33 Intro to Computer Systems VIII 1 Copyright 2017 Thomas W. Doeppner. All rights reserved. CS 33 Data Representation, Part 2 CS33 Intro to Computer Systems VIII 1 Copyright 2017 Thomas W. Doeppner. All rights reserved. Numeric Ranges Unsigned Values UMin = 0 000 0 UMax = 2 w 1 111 1 Two s Complement

More information

IncLing: Efficient Product-Line Testing using Incremental Pairwise Sampling

IncLing: Efficient Product-Line Testing using Incremental Pairwise Sampling IncLing: Efficient Product-Line Testing using Incremental Pairwise Sampling Mustafa Al-Hajjaji, 1 Sebastian Krieter, 1 Thomas Thüm, 2 Malte Lochau, 3 Gunter Saake 1 1 University of Magdeburg, Germany,

More information

Architecture Rationale

Architecture Rationale Overview Architecture Rationale Charles L. Chen & Danhua Shao March 21, 2006 Motivation The CBSP Approach Archium Using CBSP and Archium Conclusions Questions 2006, Charles L. Chen & Danhua Shao EE 382V

More information

FAQ: Classes & Objects

FAQ: Classes & Objects Question 1: How do I define a class as a data type? Answer 1: Data types in Java can be simple data types such as integers and floating point numbers. Data types can also be complex, collecting many different

More information

CS 261: Data Structures. Dynamic Arrays. Introduction

CS 261: Data Structures. Dynamic Arrays. Introduction CS 261: Data Structures Dynamic Arrays Introduction Arrays Core data structure Example: double arraybag[100]; struct Students{ int count; }; char initials[2]; 2 Positives: Arrays -- Pros and Cons Simple

More information

20-CS Programming Languages Fall 2016

20-CS Programming Languages Fall 2016 20-CS-4003-001 Programming Languages Fall 2016 Answer questions 1-6 for exam score, question 7 for brownies Be sure to put your name on the paper in the space provided! Name Signature 1. Java, the language,

More information

Code Generation from Configuration Specification Languages For Program Execution Environment Configuration

Code Generation from Configuration Specification Languages For Program Execution Environment Configuration Code Generation from Configuration Specification Languages For Program Execution Environment Configuration Seminar aus Programmiersprachen Martin Kaufleitner Matr. Nr.: 1027229 MartinKaufleitner@gmx.at

More information

Assignment 1 (Lexical Analyzer)

Assignment 1 (Lexical Analyzer) Assignment 1 (Lexical Analyzer) Compiler Construction CS4435 (Spring 2015) University of Lahore Maryam Bashir Assigned: Saturday, March 14, 2015. Due: Monday 23rd March 2015 11:59 PM Lexical analysis Lexical

More information

Component Design. Systems Engineering BSc Course. Budapest University of Technology and Economics Department of Measurement and Information Systems

Component Design. Systems Engineering BSc Course. Budapest University of Technology and Economics Department of Measurement and Information Systems Component Design Systems Engineering BSc Course Budapest University of Technology and Economics Department of Measurement and Information Systems Traceability Platform-based systems design Verification

More information

MODELLING COMPOSITIONS OF MODULAR EMBEDDED SOFTWARE PRODUCT LINES

MODELLING COMPOSITIONS OF MODULAR EMBEDDED SOFTWARE PRODUCT LINES MODELLING COMPOSITIONS OF MODULAR EMBEDDED SOFTWARE PRODUCT LINES Wolfgang Friess AUDI AG wolfgang.friess@audi.de Julio Sincero University Erlangen-Nuernberg sincero@informatik.uni-erlangen.de Wolfgang

More information

Spring 2003 Instructor: Dr. Shahadat Hossain. Administrative Matters Course Information Introduction to Programming Techniques

Spring 2003 Instructor: Dr. Shahadat Hossain. Administrative Matters Course Information Introduction to Programming Techniques 1 CPSC2620 Advanced Programming Spring 2003 Instructor: Dr. Shahadat Hossain 2 Today s Agenda Administrative Matters Course Information Introduction to Programming Techniques 3 Course Assessment Lectures:

More information

Role-based Adaptive Modeling Framework Epsilon and a Case Study

Role-based Adaptive Modeling Framework Epsilon and a Case Study EASSy 2013 (Sep. 11, 2013) Role-based Adaptive Modeling Framework Epsilon and a Case Study Tetsuo Tamai (Hosei University) collaborated with Supasit Monpratarnchai (Fujitsu) Self* and Epsilon Model Self-*

More information

Assignment 1 (Lexical Analyzer)

Assignment 1 (Lexical Analyzer) Assignment 1 (Lexical Analyzer) Compiler Construction CS4435 (Spring 2015) University of Lahore Maryam Bashir Assigned: Saturday, March 14, 2015. Due: Monday 23rd March 2015 11:59 PM Lexical analysis Lexical

More information

Aspect Refinement Unifying AOP and Stepwise

Aspect Refinement Unifying AOP and Stepwise Vol. 6, No. 9, Special Issue: TOOLS EUROPE 2007, October 2007 Aspect Refinement Unifying AOP and Stepwise Refinement Sven Apel, Department of Informatics and Mathematics, University of Passau Christian

More information