July 2005REFT workshop, Newcastle1 Some thoughts about product line engineering: using UML, B, and refinement - emerging from CS2/ATEC A research programme.

Slides:



Advertisements
Similar presentations
Introduction to Object Orientation System Analysis and Design
Advertisements

Profiles Construction Eclipse ECESIS Project Construction of Complex UML Profiles UPM ETSI Telecomunicación Ciudad Universitaria s/n Madrid 28040,
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software processes 2.
1 Intention of slide set Inform WSMOLX of what is planned for Choreography & Orhestration in DIP CONTENTS Terminology Clarification / what will be described.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 2, Modeling with UML, Part 4 UML 2 Metamodel.
1 Chapter 4 - Part 1 Software Processes. 2 Software Processes is: Coherent (logically connected) sets of activities for specifying, designing, implementing,
Modeling Process-Oriented Integration of Services Using Patterns and Pattern Primitives Uwe Zdun and Schahram Dustdar Distributed Systems Group Institute.
Developing MAS The GAIA Methodology A Brief Summary by António Castro and Prof. Eugénio Oliveira.
L4-1-S1 UML Overview © M.E. Fayad SJSU -- CmpE Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
SPECIFYING COGNITIVE MODELS Using Patterns and Conflicts A. Macklem, F. Mili Oakland University S. Dungrani TARDEC June, 2004.
1 SWE Introduction to Software Engineering Lecture 5.
Engine Controls Rodin EU project IST REFT’05 – Newcastle, July 2005 Towards a methodology for rigorous development of generic requirements patterns.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 10 Slide 1 Formal Specification.
CASE Tools And Their Effect On Software Quality Peter Geddis – pxg07u.
Proceso kintamybių modeliavimas Modelling process variabilities Donatas Čiukšys.
Software Engineering CS B Prof. George Heineman.
Design Patterns OOD. Course topics Design Principles UML –Class Diagrams –Sequence Diagrams Design Patterns C#,.NET (all the course examples) Design Principles.
“Enhancing Reuse with Information Hiding” ITT Proceedings of the Workshop on Reusability in Programming, 1983 Reprinted in Software Reusability, Volume.
© 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1 A Discipline of Software Design.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
©Ian Sommerville 2000, Mejia-Alvarez 2009 Slide 1 Software Processes l Coherent sets of activities for specifying, designing, implementing and testing.
Software Processes lecture 8. Topics covered Software process models Process iteration Process activities The Rational Unified Process Computer-aided.
Introduction to MDA (Model Driven Architecture) CYT.
The Grid Component Model: an Overview “Proposal for a Grid Component Model” DPM02 “Basic Features of the Grid Component Model (assessed)” -- DPM04 CoreGrid.
World Class Standards Co-op on Information Models- NRM TISPAN WG8 – 3GPP SA#5 Joint meeting Sophia Antipolis, May14th - 15 th Source: Geoff Caryer.
Exploring the Intentional Dimension during Software (Architecture) Design adding the “why” and the “who/where” to the “what” and the “how” Daniel Gross.
Process Modeling NADDI Sprint March. Background Prior to the NADDI 2014 Sprint a design paper on the process model was developeddesign paper It.
Software Engineering Principles Principles form the basis of methods, techniques, methodologies and tools Principles form the basis of methods, techniques,
University of Southern California Center for Systems and Software Engineering Model-Based Software Engineering Supannika Koolmanojwong Spring 2013.
Verification and Validation in the Context of Domain-Specific Modelling Janne Merilinna.
An Object-Z based Metamodel for Wright Joint work with M. Maouche 2, and M. Mosteghanemi 1 Presented by M. Bettaz 1 1 MESRS/ESI Algeria 2 Philadelphia.
Modeling Shari L. Pfleeger and Joanne M. Atlee, Software Engineering: Theory and Practice, 4 th edition, Prentice Hall, Hans Van Vliet, Software.
A Static Approach to Consistency Verification of UML Models Andrea Baruzzo Department of Computer Science University of Udine MoDeV.
Unified Modeling Language* Keng Siau University of Nebraska-Lincoln *Adapted from “Software Architecture and the UML” by Grady Booch.
1 Context-dependent Product Line Practice for Constructing Reliable Embedded Systems Naoyasu UbayashiKyushu University, Japan Shin NakajimaNational Institute.
FDT Foil no 1 On Methodology from Domain to System Descriptions by Rolv Bræk NTNU Workshop on Philosophy and Applicablitiy of Formal Languages Geneve 15.
Understanding and using patterns in software development EEL 6883 Software Engineering Vol. 1 Chapter 4 pp Presenter: Sorosh Olamaei.
Object-Oriented Modeling: Static Models. Object-Oriented Modeling Model the system as interacting objects Model the system as interacting objects Match.
Laboratory of Model Driven Engineering for Embedded Systems An Execution Framework for MARTE-based Models UML&AADL’2008 workshop Belfast, Northern Ireland.
Future Work  Formal specification of modeling language semantic is key issue  Reliance on well-established formal models of computation (i.e. finite.
1 Centre for Intelligent Systems and their Applications Division of Informatics, University of Edinburgh Draft for AKT July Workshop Jessica Chen-Burger.
Software Engineering Emphasis for Engineering Computing Courses William Hankley Computing & Information Sciences Kansas State University.
Toulouse, September 2003 Page 1 JOURNEE ALTARICA Airbus ESACS  ISAAC.
Ch- 8. Class Diagrams Class diagrams are the most common diagram found in modeling object- oriented systems. Class diagrams are important not only for.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
DESIGN OF SOFTWARE ARCHITECTURE
Winter 2011SEG Chapter 11 Chapter 1 (Part 1) Review from previous courses Subject 1: The Software Development Process.
Object vs Class composition By Marine Ruhamanya. Disciplined Inheritance  Problems with implementation inheritance: Encapsulation Fragile Base Class.
ICIST 2011 Mar , Nanjing, China Visualization in Software Architecture Helen Wu 1 Let’s Enforce a Simple Rule in Software Architecture Helen.
Chapter 5 System Modeling. What is System modeling? System modeling is the process of developing abstract models of a system, with each model presenting.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 4 Slide 1 Software Processes.
Basic Concepts and Definitions
CERES-2012 Deliverables Architecture and system overview 21 November 2011 Updated: 12 February
Design and implementation Chapter 7 – Lecture 1. Design and implementation Software design and implementation is the stage in the software engineering.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 2, Modeling with UML: UML 2 Metamodel Note to Instructor: The material in this.
Diagrams. Typically, we view the static parts of a system using one of the four following diagrams. 1. Class diagram 2. Object diagram 3. Component diagram.
Architectural Design Rewriting as Architectural Description Language R. Bruni A. LLuch-Lafuente U. Montanari E. Tuosto.
Toward product architecture oriented requirements analysis for product line development in systems engineering Kei Kurakawa Nara Institute of Science and.
Object Oriented Analysis & Design By Rashid Mahmood.
1 Process activities. 2 Software specification Software design and implementation Software validation Software evolution.
1 CASE Computer Aided Software Engineering. 2 What is CASE ? A good workshop for any craftsperson has three primary characteristics 1.A collection of.
Definition CASE tools are software systems that are intended to provide automated support for routine activities in the software process such as editing.
SysML v2 Formalism: Requirements & Benefits
OO Methodology OO Architecture.
Designing Software for Ease of Extension and Contraction
Topic I Introduction to Computer Architecture and Organization
Chapter 2, Modeling with UML, Part 4 UML 2 Metamodel
Patterns.
Introduction to Pattern Oriented Analysis and Design (POAD)
Presentation transcript:

July 2005REFT workshop, Newcastle1 Some thoughts about product line engineering: using UML, B, and refinement - emerging from CS2/ATEC A research programme arising from EU project IST RODIN Mike Poppleton, Colin Snook (ECS, University of Southampton) { Ian Johnson (AT Engine Controls (ATEC))

July 2005REFT workshop, Newcastle2 ATEC case study – state of play Requirements document = “First-cut” generic model + instance model exists as RODIN deliverable Validated generic static model exists Work in progress/ planned: Construction of validated generic & instance dynamic models –via UML-B, refinement Proposal of refinement (and abstraction ?) patterns for FM domain in product line engineering (PLE) PLE: The engineering, from a generic set of requirements for a given domain, of product instances configured to specific requirements.

July 2005REFT workshop, Newcastle3 One of many issues: feature modelling … from Muthig*

July 2005REFT workshop, Newcastle4 Issues Methodological investigations: in PLE –much emphasis on domain analysis/ engineering –the quest for good generic abstractions modelling variability and commonality and consequent instantiation transformations –(not) surprising degree of difference between PLE domains …

July 2005REFT workshop, Newcastle5 Product instantiation - ATEC 120%0%0% 100%/ sec Engine Stood 120%10 % 100%/ sec Engine Starting 120%50 % 100%/ sec Engine Running 120%0%0% 100%/ sec Engine Stood 120%10 % 100%/ sec Engine Starting 120%50 % 100%/ sec Engine Running + generic + instance product instance

July 2005REFT workshop, Newcastle6 Product line issues - ATEC 12 0% 0%0% 100%/ sec Engine Stood 12 0% 10 % 100%/ sec Engine Starting 12 0% 50 % 100%/ sec Engine Running 12 0% 0%0% 100%/ sec Engine Stood 12 0% 10 % 100%/ sec Engine Starting 12 0% 50 % 100%/ sec Engine Running + generic + instance product instance variability ? instance data management ?

July 2005REFT workshop, Newcastle7 Variability ? + product instantiation decision model

July 2005REFT workshop, Newcastle8 Instance data management ? 120 % 0% 100%/s ec Engine Stood 120 % 10 % 100%/s ec Engine Starting 120 % 50 % 100%/s ec Engine Running 120 % 0% 100%/s ec Engine Stood 120 % 10 % 100%/s ec Engine Starting 120 % 50 % 100%/s ec Engine Running 12 0% 0%0% 100%/ sec Engine Stood 12 0% 10 % 100%/ sec Engine Starting 12 0% 50 % 100%/ sec Engine Running 12 0% 0%0% 100%/ sec Engine Stood 12 0% 10 % 100%/ sec Engine Starting 12 0% 50 % 100%/ sec Engine Running + product instantiation decision model 12 0% 0%0% 100%/ sec Engine Stood 12 0% 10 % 100%/ sec Engine Starting 12 0% 50 % 100%/ sec Engine Running 12 0% 0%0% 100%/ sec Engine Stood 12 0% 10 % 100%/ sec Engine Starting 12 0% 50 % 100%/ sec Engine Running product line feature data product instance feature data

July 2005REFT workshop, Newcastle9 Links to some related work … “preprocessor”-style specification of variability as per Muthig*, applied to UML-B ? a more sophisticated analog of MDA/metamodel approach of Muthig**, i.e. MOF + UML-B ??? Muthig*GoPhone - A Software Product Line in the Mobile Phone Domain Dirk Muthig et al, IESE-Report No /E (Fraunhofer Institut Experimentelles Software Engineering Muthig**Model-Driven Product Line Architectures, SPLC2002, LNCS 2379

July 2005REFT workshop, Newcastle10 More links to related work … Notions of refinement … Wasowski*: refinement (by trace inclusion ) by model restriction from the maximal feature model. A slightly odd notion of refinement Batory*: “feature refinement”: algebraic approache to scaling stepwise refinement: facets, aspects, mixin layers, gluons and origami … A very odd notion of refinement –‘The definition of “refinement” that seems closest to our intended meaning is “the act of making improvement by introducing subtleties or distinctions” (Merriam- Webster’s Dictionary).... At the implementation level, however, a refinement can yield dramatic changes: both the exported functionality (semantics of operations) and the exported interface (signatures of operations) may change. Thus, unlike the use of “refinement” in formal approaches to programming, the set of allowed behaviors of our “refined” program might not be a subset of the behaviors of the “unrefined” program.’ Wasowski* Automatic generation of Program Families by Model Restrictions, SPLC 2004, LNCS 3154 Batory*many papers; see

July 2005REFT workshop, Newcastle11 More links to related work … Notions of refinement … Wasowski*: refinement (by trace inclusion ) by model restriction from the maximal feature model. A slightly odd notion of refinement Batory*: “feature refinement”: algebraic approache to scaling stepwise refinement: facets, aspects, mixin layers, gluons and origami … A very odd notion of refinement –‘The definition of “refinement” that seems closest to our intended meaning is “the act of making improvement by introducing subtleties or distinctions” (Merriam- Webster’s Dictionary).... At the implementation level, however, a refinement can yield dramatic changes: both the exported functionality (semantics of operations) and the exported interface (signatures of operations) may change. Thus, unlike the use of “refinement” in formal approaches to programming, the set of allowed behaviors of our “refined” program might not be a subset of the behaviors of the “unrefined” program.’ –So isn’t this just … retrenchment ? (e.g. Banach, Poppleton 2003) Wasowski* Automatic generation of Program Families by Model Restrictions, SPLC 2004, LNCS 3154 Batory*many papers; see R. Banach, M. Poppleton Retrenching Partial Requirements into System Definitions: A Simple Feature Interaction Case Study, 2003, Req. Eng. J., 8 (4)

July 2005REFT workshop, Newcastle12 This is RODIN-CS2 Looking forward to explorations in … “Product Line Refinement”

July 2005REFT workshop, Newcastle13 Decomposing the example Work

July 2005REFT workshop, Newcastle14 Decomposing the example Work

July 2005REFT workshop, Newcastle15 Decomposing the example Work

July 2005REFT workshop, Newcastle16 Decomposing the example Work