VICCI Visual and Interactive Cyber-Physical Systems Control and Integration Capturing Variability in Space and Time with Hyper Feature Models Christoph.

Slides:



Advertisements
Similar presentations
Curve Fitting using the Optimization Module in COMSOL
Advertisements

Convegno Progetto FIRB LSNO – Capri 19/20 aprile ESOPO: an Environment for Solving Optimization Problems Online M. DApuzzo *, M.L. De Cesare **,
Language Specification using Metamodelling Joachim Fischer Humboldt University Berlin LAB Workshop Geneva
8-2: Solving Systems of Equations using Substitution
Constraint Programming Peter van Beek University of Waterloo.
A Study of 0/1 Encodings Prosser & Selensky A Study of 0/1 Encodings Prosser & Selensky.
1 ICS-FORTH & Univ. of Crete SeLene November 15, 2002 A View Definition Language for the Semantic Web Maganaraki Aimilia.
Plan Recognition in Virtual Laboratories Ofra Amir and Yaakov (Kobi) Gal Ben-Gurion University of The Negev Department of Information Systems Engineering.
Managing Web server performance with AutoTune agents by Y. Diao, J. L. Hellerstein, S. Parekh, J. P. Bigu Jangwon Han Seongwon Park
Artificial Intelligence in the 21 st Century S. Lucci / D. Kopec Chapter 5: Logic in Artificial Intelligence 1.
Rigorous Software Development CSCI-GA Instructor: Thomas Wies Spring 2013 Lecture 4.
1 1 Mechanical Design and Production Dept, Faculty of Engineering, Zagazig University, Egypt. Mechanical Design and Production Dept, Faculty of Engineering,
Solving Equations How to Solve Them
Page 1 October 31, 2000 An Introduction to Large-Scale Software Development Steve Varnau Core HP-UX Operation October 31, 2000.
1 The C Language An International Standard CIS2450 Professional Aspect of Software Engineering.
Product Line Engineering Workshop Waterloo, December 9, 2013 Organizers: Michał Antkiewicz, Krzysztof Czarnecki, Andrzej Wąsowski, Ina Schaefer.
I/O Placement for FPGAs with Multiple I/O Standards.
From Model-based to Model-driven Design of User Interfaces.
1 Programming Languages (CS 550) Mini Language Interpreter Jeremy R. Johnson.
An Introduction to the Model Verifier verds Wenhui Zhang September 15 th, 2010.
Domain Engineering Silvio Romero de Lemos Meira
Automated Planning for Feature Model Configuration based on Functional and Non-Functional Requirements Samaneh Soltani 1, Mohsen Asadi 1, Dragan Gašević.
Software Modeling SWE5441 Lecture 3 Eng. Mohammed Timraz
EE 553 Integer Programming
Using Variability Modeling Principles to Capture Architectural Knowledge Marco Sinnema (University of Groningen), Jan Salvador van der Ven (University.
Institute for Software Research©2001, University of California, Irvine Product-Line Architectures André van der Hoek Institute for Software Research University.
VARIABLES AND EXPRESSIONS NUMERICAL EXPRESSION A NAME FOR A NUMBER VARIABLE OR ALGEBRAIC EXPRESSION AN EXPRESSION THAT CONTAINS AT LEAST ONE VARIABLE.
NON-FUNCTIONAL PROPERTIES IN SOFTWARE PRODUCT LINES: A FRAMEWORK FOR DEVELOPING QUALITY-CENTRIC SOFTWARE PRODUCTS May Mahdi Noorian
MDC Open Information Model West Virginia University CS486 Presentation Feb 18, 2000 Lijian Liu (OIM:
Katanosh Morovat.   This concept is a formal approach for identifying the rules that encapsulate the structure, constraint, and control of the operation.
Supporting Automatic Model Inconsistency Fixing Yingfei Xiong University of Tokyo, Japan Zhenjiang HuNational Institute of Informatics, Japan Haiyan ZhaoPeking.
Assessing the Suitability of UML for Modeling Software Architectures Nenad Medvidovic Computer Science Department University of Southern California Los.
CONSTRAINT PROGRAMMING Computer Science Seminar April 9 th, 2004 Kerem Kacel.
Reviewing Recent ICSE Proceedings For:.  Defining and Continuous Checking of Structural Program Dependencies  Automatic Inference of Structural Changes.
Software Quality Assurance
A Framework for the Reconfiguration of Ubicomp Systems Pau Giner, Carlos Cetina, Joan Fons, Vicente Pelechano.
University of L’Aquila, Department of Electrical and Information Engineering
L10 - April 12, 2006copyright Thomas Pole , all rights reserved 1 Lecture 10: Software Assets and Text: Ch. 8: Language Anatomy and Ch 9: Families.
TREX Demo Dustin Dannenhauer. TurtleBot “TurtleBot combines popular off-the-shelf robot components like the iRobot Create, Yujin Robot's Kobuki and Microsoft's.
From Objects to Assets: The Fungibility of Knowledge Christopher W. Higgins, Esq.
Controlling Execution Programming Right from the Start with Visual Basic.NET 1/e 8.
VICCI Visual and Interactive Cyber-Physical Systems Control and Integration Deriving Variants with Variability in Space and Time Using Hyper Feature Models.
Semantic Language E-Learning Platform Martin Jovanović, Milena Stanković, Dejan Todosijević CIITLab, Faculty of Electronic Engineering Niš.
Tuning Github for SPL development Branching models and operations for product engineers Oscar Díaz University of the Basque Country ONEKIN Research Group.
Today’s Agenda  Quick Review  Final Exam  Version Control Software Testing and Maintenance 1.
Towards Multi-Paradigm Software Development Valentino Vranić Department of Computer Science and Engineering Faculty of Electrical Engineering.
BOĞAZİÇİ UNIVERSITY DEPARTMENT OF MANAGEMENT INFORMATION SYSTEMS MATLAB AS A DATA MINING ENVIRONMENT.
Issues in Ontology-based Information integration By Zhan Cui, Dean Jones and Paul O’Brien.
TTCN-3 and ASN.1 interworking Analysis of backward compatibility in ASN.1 Géza Horváth TTCN-3 User Conference – 9 June 2011.
EGR 115 Introduction to Computing for Engineers Branching & Program Design – Part 1 Monday 29 Sept 2014 EGR 115 Introduction to Computing for Engineers.
Properties as Processes : FORTE slide Properties as Processes: their Specification and Verification Joel Kelso and George Milne School of Computer.
Concepts and Realization of a Diagram Editor Generator Based on Hypergraph Transformation Author: Mark Minas Presenter: Song Gu.
Simplifying Algebraic Expressions. 1. Evaluate each expression using the given values of the variables (similar to p.72 #37-49)
1 Programming and problem solving in C, Maxima, and Excel.
The PLA Model: On the Combination of Product-Line Analyses 강태준.
Defects of UML Yang Yichuan. For the Presentation Something you know Instead of lots of new stuff. Cases Instead of Concepts. Methodology instead of the.
AGENT SERVICES FRAMEWORK FOR HANDHELD DEVICES SUPERVISOR: DR MUHAMMAD ASLAM Domain: Artificial Intelligence(AI) Muhammad Ali (09-MS-CE-11),
Wolfgang Runte Slide University of Osnabrueck, Software Engineering Research Group Wolfgang Runte Software Engineering Research Group Institute.
Notes Over 1.2.
EGR 115 Introduction to Computing for Engineers
SysML v2 Formalism: Requirements & Benefits
Software Tools and Environments
Component Based Software Engineering
Business Rule Based Configuration Management and Software System Implementation Using Decision Tables Olegas Vasilecas, Aidas Smaizys VGTU, Vilnius, Lithuania.
Implementing Language Extensions with Model Transformations
CSc4730/6730 Scientific Visualization
L1-6 Notes: Algebra: Variables and Expressions
DELNET – Developing Library Network
Implementing Language Extensions with Model Transformations
Flow of Control Flow of control is the order in which a program performs actions. Up to this point, the order has been sequential. A branching statement.
Presentation transcript:

VICCI Visual and Interactive Cyber-Physical Systems Control and Integration Capturing Variability in Space and Time with Hyper Feature Models Christoph Seidl Ina Schaefer Uwe Aßmann

 Background  Software Ecosystems (SECOs) and Variability  Formalization of Feature Models  Problem: No Variability in Time in Feature Models  Contributions  Hyper Feature Models (HFMs)  Version-Aware Constraint Language  Automatic Version Selection  Conclusion: Capturing Variability in Space and Time with HFMs Agenda Variability in Space and Time with Hyper Feature Models - Seidl, Schaefer, Aßmann

 Software Ecosystems (SECOs)  Family of closely related software systems  E.g., Eclipse, Android, ROS etc.  Similar to SPLs, but…  Multiple contributors  Frequent (unsynchronized) evolution of variable assets Background Variability in Space and Time with Hyper Feature Models - Seidl, Schaefer, Aßmann  Variability in Space  Configuration  Variant of system  Variability in Time  Evolution  Version of system

Running Example: TurtleBot Driver Variability in Space and Time with Hyper Feature Models - Seidl, Schaefer, Aßmann UltrasoundInfraredBump [1..3] DetectionWebservice AutonomousGamepadKeyboard [1..1] MovementEngine TurtleBot Cross-Tree Constraints 1.Autonomous  Detection 2.Keyboard  Gamepad  Webservice

DetectionWebserviceMovementEngine Definition 1: Feature Model Variability in Space and Time with Hyper Feature Models - Seidl, Schaefer, Aßmann UltrasoundInfraredBump [1..3] AutonomousGamepadKeyboard [1..1] TurtleBot [0..1][1..1] Cross-Tree Constraints 1.Autonomous  Detection 2.Keyboard  Gamepad  Webservice

Cross-Tree Constraints 1.Autonomous  Detection 2.Keyboard  Gamepad  Webservice Definition 2: Feature Model Semantics Variability in Space and Time with Hyper Feature Models - Seidl, Schaefer, Aßmann DetectionWebserviceMovementEngine UltrasoundInfraredBump [1..3] AutonomousGamepadKeyboard [1..1] TurtleBot

Problem: No Variability in Time in Feature Models Variability in Space and Time with Hyper Feature Models - Seidl, Schaefer, Aßmann UltrasoundInfraredBump [1..3] DetectionWebservice AutonomousGamepadKeyboard [1..1] MovementEngine TurtleBot  Constraints caused by evolution (excerpt)  iClebo Kobuki is incompatible with TurtleBot v1.0  iClebo Kobuki requires at least TurtleBot v2.0  Problem  Feature model captures only variability in space  Only exactly one version of variable asset in feature model (no variability in time) iRobot CreateiClebo Kobuki v1.0v2.0 Evolution!

 Requirement 1 Support for feature versions as units of configuration.  Requirement 2 Specification of the relation of versions in logical development lines (i.e., predecessor and successor versions including branching).  Requirement 3 Expression of dependencies on and incompatibilities with version ranges.  Requirement 4 Support for users in selecting suitable combinations of versions from a selection of features. Requirements on Solution Variability in Space and Time with Hyper Feature Models - Seidl, Schaefer, Aßmann

Hyper Feature Models (HFMs) Contribution 1

Definition 3: Hyper Feature Model (HFM) TurtleBot DetectionWebserviceMovementEngine Variability in Space and Time with Hyper Feature Models - Seidl, Schaefer, Aßmann UltrasoundInfraredBump [1..3] AutonomousGamepadKeyboard [1..1] TurtleBot Requirement 1 Requirement 2b Feature Model (Definition 1) Requirement 2a

Definition 5: HFM Semantics Variability in Space and Time with Hyper Feature Models - Seidl, Schaefer, Aßmann Ultrasound Infrared Bump 1.0 Autonomous Gamepad [1..1] Movement Engine Create Kobuki TurtleBot [1..3] Detection Webservice Keyboard

Definition 5: HFM Semantics Variability in Space and Time with Hyper Feature Models - Seidl, Schaefer, Aßmann Create Kobuki Feature Model (Definition 2) Keyboard Movement Engine TurtleBot

Version-Aware Constraint Language Contribution 2

Definition 6: Version-Aware Constraint Syntax Variability in Space and Time with Hyper Feature Models - Seidl, Schaefer, Aßmann Compound Expressions Atomic Expressions Boolean Algebra Requirement 3

f [v a – v b ] ?f [v a – v b ]  (f  f [v a – v b ])  Examples  TurtleBot [1.0 – 1.1]  Engine [  Create 1.2]  ?Movement [1.2 – 2.0]  Semantics  Usage  Closed intervals (fixed even if evolved)  E.g., dependencies of Eclipse manifest files (Conditional) Version Range Restrictions Variability in Space and Time with Hyper Feature Models - Seidl, Schaefer, Aßmann TurtleBot TurtleBot [1.0 – 1.1]

f [op v a ] ?f [op v a ]  (f  f [op v a ])  Operators: op = {          }  Examples  TurtleBot [1.0 – 1.1]  Engine [  Create 1.2]  ?Engine [  Kobuki 1.0]  Semantics  Usage  No need to know all versions in the interval explicitly  Open intervals (extended in case of evolution) (Conditional) Relative Version Restrictions Variability in Space and Time with Hyper Feature Models - Seidl, Schaefer, Aßmann TurtleBot TurtleBot [  2.1]

Automatic Version Selection Contribution 3

Automatic Version Selection: General Procedure Variability in Space and Time with Hyper Feature Models - Seidl, Schaefer, Aßmann encode Ultrasound Infrared Bump 1.0 Autonomous Gamepad Keyboard [1..1] Movement Engine Create Kobuki TurtleBot [1..3] Detection Webservice [1..1] Create Kobuki [1..3] UltrasoundInfraredBumpAutonomousGamepadKeyboard Movement Engine TurtleBot DetectionWebservice Version-Aware Constraints 1.Autonomous  Detection 2.Keyboard  Gamepad  Webservice 3.Infrared [  2.0]  Ultrasound  Detection [  1.1] 4.TurtleBot [  2.0]  Engine [  Kobuki 1.0] 5.TurtleBot [1.0 – 1.1]  Engine [  Create 1.2] 6.TurtleBot [  2.0]  ?Webservice [  1.1] Constraint Satisfaction Problem (CSP) Solver All Possible (Version) Configurations select solve Scoring to find "best" configuration

i(v) = 1/(0 + 1) = 1.0 n(v) = 1/(0 + 1) = 1.0 s(v) = i(v) * n(v) = 1.0 i(v) = 1/(0 + 1) = 1.0 n(v) = 1/(0 + 1) = 1.0 s(v) = i(v) * n(v) = Scoring to Find "Best" Configuration Variability in Space and Time with Hyper Feature Models - Seidl, Schaefer, Aßmann Ultrasound Infrared Autonomous Gamepad [1..1] Create Kobuki [1..3] Requirement 4 importance(v) = 1/(0 + 1) = 1.0 novelty(v) = 1/(1 + 1) = 0.5 score(v) = i(v) * n(v) = 0.5 BumpKeyboard Movement Engine TurtleBot DetectionWebservice i(v) = 1/(1 + 1) = 0.5 n(v) = 1/(0 + 1) = 1.0 s(v) = i(v) * n(v) = 0.5 TurtleBot [  2.0]  Engine [  Kobuki 1.0] i(v) = 1/(1 + 1) = 0.5 n(v) = 1/(0 + 1) = 1.0 s(v) = i(v) * n(v) = 0.5

 Problem: No variability in time in Feature Models  Solution  Hyper Feature Models (HFMs)  Version-Aware Constraint Language  Automatic Version Selection  Fulfills initially posed requirements  Evaluated in case study using TurtleBot driver  Capturing variability in space and time in Hyper Feature Models Conclusion Variability in Space and Time with Hyper Feature Models - Seidl, Schaefer, Aßmann

Questions, Comments, Feedback? Thank you for your attention!