E N D
Some thoughts about product line engineering: using UML, B, and refinement -emerging from CS2/ATEC A research programme arising from EU project IST 511599 - RODINMike Poppleton, Colin Snook (ECS, University of Southampton){mrp,cfs}@ecs.soton.ac.ukIan Johnson (AT Engine Controls (ATEC))IJohnson@atenginecontrols.com REFT workshop, Newcastle
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. REFT workshop, Newcastle
One of many issues: feature modelling … from Muthig* REFT workshop, Newcastle
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 … REFT workshop, Newcastle
Product instantiation - ATEC + generic + product instance instance REFT workshop, Newcastle
Product line issues - ATEC variability ? + generic instance data management ? + product instance instance REFT workshop, Newcastle
Variability ? product instantiation decision model + REFT workshop, Newcastle
Instance data management ? product line feature data product instantiation decision model product instance feature data + REFT workshop, Newcastle
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. 025.04/E (Fraunhofer Institut Experimentelles Software Engineering Muthig** Model-Driven Product Line Architectures, SPLC2002, LNCS 2379 REFT workshop, Newcastle
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 http://www.cs.utexas.edu/users/schwartz/pub.htm REFT workshop, Newcastle
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 http://www.cs.utexas.edu/users/schwartz/pub.htm R. Banach, M. Poppleton Retrenching Partial Requirements into System Definitions: A Simple Feature Interaction Case Study, 2003, Req. Eng. J., 8 (4) REFT workshop, Newcastle
This is RODIN-CS2 Looking forward to explorations in … “Product Line Refinement” REFT workshop, Newcastle
Decomposing the example Work REFT workshop, Newcastle
Decomposing the example Work REFT workshop, Newcastle
Decomposing the example Work REFT workshop, Newcastle
Decomposing the example Work REFT workshop, Newcastle