Product families – another area for OMG technology? Øystein Haugen University of Oslo / ICT-Norway on behalf of the European ”Families” project http://www.esi.es/en/Projects/Families/ ICT Norway / UiO 03/02/2005 Eureka ∑! 2023 Programme, ITEA project ip02009, FAMILIES 1 Overview • A motivating example: A Watch Product Line • possible feature diagram • possible UML 2 diagram (with profiled additions) • associated metamodel / conceptual model • Motivation for System Families / Product Lines • the Families project based on ESAPS and CAFE • not only language – also organization and process (BAPO) • Why standardization? • Why we want to get OMG involved • The relationship with MDA • The possible OMG approaches • RFI (Request for Information) • RFP (Request for Proposal) ICT Norway / UiO, 03/02/2005 Eureka ∑! 2023 Programme, ITEA project ip02009, FAMILIES 2 The Watch (feature diagram) Watch Functionality::StopWatch => Precision > 5 ^ #Buttons > 2 Functionality WorldTime => Alarm ^StopWatch ^ Timer Color OneOrMore mandatory Time Speaker::Poly::numberofbits=64 => Precision > 5 optional mandatory WorldTime Alarm StopWatchTimer one Speaker Precision one value black plain red poly #Buttons Waterproof value <<range>> mandatory 1..6 mandatory metallic depth value numbits one <<range>> {8,16,32,64} ICT Norway / UiO, 03/02/2005 Eureka ∑! 2023 Programme, ITEA project ip02009, FAMILIES 3 The Watch (UML 2++) Watch PolyphonicSpeaker color: Color precis: Precision numberofbits:{8,16,32,64} «optional» wp:Waterproof «value» depth «mandatory» Functionality { «mandatory» «interaction» Time «one-or-more» { «interaction» Timer «interaction» StopWatch «interaction» Alarm «interaction» WorldTime } «constrained by» {WorldTime => Alarm ^StopWatch ^ Timer} } «constrained by»{Functionality::StopWatch => Precision > 5 ^ #Buttons > 2} Speaker PolyphonicSpeaker PlainSpeaker :Display :Button[1..n] buttons «one» Speaker visual «variant» «enumeration» «enumeration» Waterproof Color «enumeration» Precision :PlainSpeaker «variant» :PolyphonicSpeaker ICT Norway / UiO, 03/02/2005 audio 0m 5m 20 m 100 m 300 m black metallic green yellow red 0.001 s 0.01 s 0.1 s 1s 10 s Eureka ∑! 2023 Programme, ITEA project ip02009, FAMILIES 4 The conceptual metamodel (1) Resolution ModelElement affected resolves Model * VariabilityConstraint VariationElement ICT Norway / UiO, 03/02/2005 Eureka ∑! 2023 Programme, ITEA project ip02009, FAMILIES 5 The conceptual metamodel (2) VariabilityConstraint description: String PropertyConstraint AlternativeConstraint MandatoryConstraint type: String RangeConstraint min: real max: real ICT Norway / UiO, 03/02/2005 range_min: int range_max: int OptionalConstraint {resolutions.size=2} range_min:int=1 range_max:int=1 Eureka ∑! 2023 Programme, ITEA project ip02009, FAMILIES 6 The SportyWatch (feature diagram) Sporty Watch mandatory Functionality resolved resolved Color Speaker one resolved black Precision resolved resolved plain 7 #Buttons Waterproof value mandatory 2..6 metallic Time Alarm StopWatchTimer depth value <<range>> ICT Norway / UiO, 03/02/2005 Eureka ∑! 2023 Programme, ITEA project ip02009, FAMILIES 7 SportyWatch (UML 2++) SportyWatch color: Color {black or metallic} precis: Precision {precis==7} wp:Waterproof «value» depth «interaction» Timer «interaction» StopWatch «interaction» Alarm visual :Display :Button[2..6] buttons audio :PlainSpeaker ICT Norway / UiO, 03/02/2005 Eureka ∑! 2023 Programme, ITEA project ip02009, FAMILIES 8 Product Family Engineering Product Family Family/Domain Engineering Classification Evolution (Domain Artifact Base) Evaluation Product Requirements Documentation Identification Adaptation Application Engineering ICT Norway / UiO, 03/02/2005 Feedback Product Line Infrastructure Domain Product Eureka ∑! 2023 Programme, ITEA project ip02009, FAMILIES 9 Eureka ∑! 2023 Programme, ITEA project ip02009, FAMILIES 10 The Families history ICT Norway / UiO, 03/02/2005 The Family Members ICT Norway / UiO, 03/02/2005 Eureka ∑! 2023 Programme, ITEA project ip02009, FAMILIES 11 Functionality Market relevance Market Requirements Tactical Development (Application Driven) Surface indicates effort Application development Market pressure Family development Strategic Development (Domain Driven) t1 ICT Norway / UiO, 03/02/2005 t2 t3 Total development Time Eureka ∑! 2023 Programme, ITEA project ip02009, FAMILIES 12 Software development concerns BAPO The way to make profit from the resulting products plan, market & sell diversity B O Business Organization Organisational structures and responsibilities during development A Architecture The technology needed to build systems design for reuse & diversity P Process Activities and dependencies during development develop for & with reuse ICT Norway / UiO, 03/02/2005 Eureka ∑! 2023 Programme, ITEA project ip02009, FAMILIES 13 Cross-Fertilization • feature modeling • decision/resolution process • domain specific languages B O Business Organization A Architecture P Process INFLUENCE LEVERAGE • A platform-independent modeling approach • An iterative refinement process ICT Norway / UiO, 03/02/2005 Eureka ∑! 2023 Programme, ITEA project ip02009, FAMILIES 14 What now? • RFI (Request For Information) • An RFI is a Request for Information. It surveys the computing industry, collecting information that OMG members use to form and guide new standards-setting efforts. • Do we need this? • RFP (Request For Proposals) • A Profile of UML • A Process within the MDA domain ICT Norway / UiO, 03/02/2005 Eureka ∑! 2023 Programme, ITEA project ip02009, FAMILIES 15