Software engineering Research Challenges in Software Architecture and Software Product Families University of Antwerp, March 2004 Jan Bosch Professor of.

Slides:



Advertisements
Similar presentations
Object-Oriented Application Frameworks Much of the cost and effort stems from the continuous re- discovery and re-invention of core concepts and components.
Advertisements

CS487 Software Engineering Omar Aldawud
1 Prescriptive Process Models. 2 Prescriptive Models Prescriptive process models advocate an orderly approach to software engineering Prescriptive process.
Software Modeling SWE5441 Lecture 3 Eng. Mohammed Timraz
Chapter 2 The Software Process
Systems Engineering in a System of Systems Context
Object-Oriented Analysis and Design
Page 1 Building Reliable Component-based Systems Chapter 16 - Component based embedded systems Chapter 16 Component based embedded systems.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
Using Variability Modeling Principles to Capture Architectural Knowledge Marco Sinnema (University of Groningen), Jan Salvador van der Ven (University.
©2011 Rolls-Royce plc The information in this document is the property of Rolls-Royce plc and may not be copied or communicated to a third party, or used.
Software Factory Assembling Applications with Models, Patterns, Frameworks and Tools Anna Liu Senior Architect Advisor Microsoft Australia.
Creating Architectural Descriptions. Outline Standardizing architectural descriptions: The IEEE has published, “Recommended Practice for Architectural.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 1 An Introduction to Software Engineering.
1 Computer Systems & Architecture Lesson 1 1. The Architecture Business Cycle.
Chapter 24 - Quality Management 1Chapter 24 Quality management.
Software Architecture premaster course 1.  Israa Mosatafa Islam  Neveen Adel Mohamed  Omnia Ibrahim Ahmed  Dr Hany Ammar 2.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 11 Slide 1 Architectural Design.
Computer Systems & Architecture Lesson Software Product Lines.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 1 System and Software Engineering.
Chapter : Software Process
Proceso kintamybių modeliavimas Modelling process variabilities Donatas Čiukšys.
S/W Project Management Software Process Models. Objectives To understand  Software process and process models, including the main characteristics of.
Architecting Secure Mobile P2P Systems James Walkerdine, Peter Phillips, Simon Lock Lancaster University.
Introduction to Software Engineering. Topic Covered What is software? Attribute of good S/w? Computer Software? What is Software Engineering? Evolving.
N By: Md Rezaul Huda Reza n
Institut Experimentelles Software Engineering Fraunhofer IESE Klaus Schmid Relating Product Line Adoption Mode and Transition Process.
Software Processes Sumber dari : cc.ee.ntu.edu.tw/~farn/courses/SE/ch4.ppt.
An Introduction to Software Architecture
Architecture Business Cycle
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 2Slide 1 Chapter 2 Computer-Based System Engineering As modified by Randy Smith.
©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.
 To explain the importance of software configuration management (CM)  To describe key CM activities namely CM planning, change management, version management.
Topic (1)Software Engineering (601321)1 Introduction Complex and large SW. SW crises Expensive HW. Custom SW. Batch execution.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
Chapter 1: Introduction Omar Meqdadi SE 2730 Lecture 1 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
Software Processes n What is a process?  Sequence of steps required to develop or maintain software n Characteristics  prescribes major activities 
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
© 2012 xtUML.org Bill Chown – Mentor Graphics Model Driven Engineering.
1 Introduction to Software Engineering Lecture 1.
Illustrations and Answers for TDT4252 exam, June
Assessing the influence on processes when evolving the software architecture By Larsson S, Wall A, Wallin P Parul Patel.
Software Engineering, COMP201 Slide 1 Introduction to software engineering Lecture 1.
Software Product Line Material based on slides and chapter by Linda M. Northrop, SEI.
CEN5011, Fall CEN5011 Software Engineering Dr. Yi Deng ECS359, (305)
Experiences from Representing Software Architecture in a Large Industrial Project Using Model Driven Development Andres Mattsson 1 Björn Lundell 2 Brian.
J. Scott Hawker p. 1Some material © Rational Corp. Rational Unified Process Overview See and use the RUP Browser on lab machines.
MODEL-BASED SOFTWARE ARCHITECTURES.  Models of software are used in an increasing number of projects to handle the complexity of application domains.
An Introduction to Software Engineering (Chapter 1 from the textbook)
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
Yazd University, Electrical and Computer Engineering Department Course Title: Advanced Software Engineering By: Mohammad Ali Zare Chahooki The Rational.
Designing a Product Line Architecture Jan Bosch Professor of Software Engineering University of Groningen, Netherlands
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 4 Slide 1 Software Processes.
Banaras Hindu University. A Course on Software Reuse by Design Patterns and Frameworks.
Banaras Hindu University. A Course on Software Reuse by Design Patterns and Frameworks.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
Requirements Engineering Processes, York EngD Programme, 2009Slide 1 Requirements engineering processes Prof Ian Sommerville.
Systems Architectures System Integration & Architecture.
Product Line Architecture. Systems Systems often come in families: basic, regular, professional, enterprise,… Can we share components? Is architecture.
CompSci 280 S Introduction to Software Development
The Web Application Development Process Models
Software Processes.
Model-Driven Analysis Frameworks for Embedded Systems
Software engineering -1
An Introduction to Software Architecture
On the notion of Variability in Software Product Lines
Presentation transcript:

software engineering Research Challenges in Software Architecture and Software Product Families University of Antwerp, March 2004 Jan Bosch Professor of Software Engineering University of Groningen, Netherlands

software engineering Research Challenges in SA and SPFs2 Overview introduction trends in software engineering software product families –adoption –maturity model software architecture –explicit design decisions conclusions

software engineering Research Challenges in SA and SPFs3 Software Engineering group Senior members prof. dr. ir. Jan Bosch dr. Jos Nijhuis (APr) dr. Rein Smedinga (APr) Post-docs dr. Theo Dirk Meijler dr. Jilles van Gurp dr. Lisette Bakalis Ph.D. students Michel Jaring (2004) Eelke Folmer (2005) Sybren Deelstra (2006) Marco Sinnema (2006) Anton Jansen (2006) Fernando Erazo (2007) Ivor Bosloper (2007) Johanneke Siljee (2007) Industrial Ph.D. students Rob van Ommering (Philips Research) Jan Gerben Wijnstra (Philips Research) Alessandro Maccari (Nokia Research/Mobile Phones) Ernst Kesseler (Dutch Aerospace Laboratory) Sylvia Stuurman (Open Universiteit) Emil Petkov (UK)

software engineering Research Challenges in SA and SPFs4 Current Research Topics variability management EU project CONIPF design erosion usability EU project STATUS software architecture software product families evaluation/ maturity models feature-based architectural centric system construction modifiability assessment modeling design decisions explicitly explicit architecture information architecture assessment software variability management

software engineering Research Challenges in SA and SPFs5 Industrial Partners Ericsson Software Technology Althin Medical Axis Communications Symbian (earlier Ericsson Mobile) EC-Gruppen Securitas Larm Ericsson Software Architecture Research Lab Nokia CombiTech Software Vertis Information Technology Rohill Technologies Philips Research, Medical, Consumer Electronics and PDSL Baan Thales Naval Netherlands Robert Bosch GmbH Information Highway Group LogicDIS ICT Embedded currently ongoing cooperation

software engineering Research Challenges in SA and SPFs6 Agrarian age Industrial age Information age Bioterial age years 50 years 20 years Time Economic value added Source: “The Coming Biotech Age”, Richard W. Oliver- McGraw-Hill 6000 BC Where are we going? How fast?

software engineering Research Challenges in SA and SPFs7 Innovation Adoption *maturity = 50 million users in the US radio 38 years phone 25 years cable 10 years internet 5 years technology maturity* years technologies TV 13 years

software engineering Research Challenges in SA and SPFs8 Innovation: Tactics follower: watch trends and react accordingly (reactive) shaper: create the technology underlying new trends (proactive)

software engineering Research Challenges in SA and SPFs9 Trend: software size software needs in products constantly increasing person years per product typical number of errors per product Philips

software engineering Research Challenges in SA and SPFs10 Trend: systems of systems systems increasingly need to be integrated with other systems Information systems –from manual data exchange to behavioural integration embedded/technical systems –from stand-alone to signal exchange to behavioural integration

software engineering Research Challenges in SA and SPFs11 Trend: Variability Variability needs in software are constantly increasing because variability moves from mechanics and hardware to software design decisions are delayed as long as economically feasible

software engineering Research Challenges in SA and SPFs12 Examples car engine controllers steer by wire telecom switches Transmeta’s Crusoe chip

software engineering Research Challenges in SA and SPFs13 Mobile Phones GSM 900 GSM 900/1800 GSM 900/1900 GSM 900/1800/1900 GSM 1900

software engineering Research Challenges in SA and SPFs14 Intershop

software engineering Research Challenges in SA and SPFs15 Software Product Families product-family architecture component set product 1product 2product n external internal...

software engineering Research Challenges in SA and SPFs16 Trend: Variability mechanical parts electronic parts (HW) software parts (SW) variability (flexibility of SW) standardization (economies of scale)

software engineering Research Challenges in SA and SPFs17 Trend: Variability marketingdevelopment customer req. SW product post fielding upgrades license key driven conf. 3 rd part software

software engineering Research Challenges in SA and SPFs18 Variability software variability is the ability of a software system or artefact to be extended, changed, customized or configured for use in a particular context software variability reflects problem domain variation, e.g. expressed through feature models software variability is expressed through variation points and associated variants variation points delay design decisions

software engineering Research Challenges in SA and SPFs19 Variation Points variation point in the lifecycle –implicit – implicitly present in system –designed – delayed design decision lead to VP –bound – variation has been connected to VP rebindable – variant can be bound to different variants permanent – variant has been bound permanently times –open – possible to add new variants to set –closed – set of variants is closed can be introduced and bound at any level

software engineering Research Challenges in SA and SPFs20 Trend: Later Binding trend is towards later binding and increased automation

software engineering Research Challenges in SA and SPFs21 Software Challenge increasing SW size per product develop fewer products increasing variability requirements develop more products Software Product Families

software engineering Research Challenges in SA and SPFs22 SVM Research in Groningen conceptual framework – Jilles van Gurp, Sybren Deelstra, Marco Sinnema, Theo Dirk Meijler visualizing variability and variability dependencies – Michel Jaring explicit modelling of architectural design decisions – Anton Jansen SVM in product derivation – Sybren and Marco variability assessment – Sybren case studies – Jilles, Michel, Sybren and Marco

software engineering Research Challenges in SA and SPFs23 Overview introduction trends in software engineering software product families –adoption –maturity model software architecture –explicit design decisions conclusions

software engineering Research Challenges in SA and SPFs24 Adopting an SPF requires changes that cross-cut the organization, i.e. BAPO potential problems: –mismatch between shared components and product needs –design erosion of shared components –complex interface –high degree of “organizational noise” –inefficient knowledge management –evolution causes ripple effects through the R&D organization –component value not linear

software engineering Research Challenges in SA and SPFs25 Component value not linear

software engineering Research Challenges in SA and SPFs26 Decision Dimensions

software engineering Research Challenges in SA and SPFs27 Feature Selection Oldest, most generic, lowest components –little resistance, variability well understood, one infrastructure –substantial investment due to erosion, low pay- off, COTS replacement Existing, but evolving, components –cross-portfolio changes easy, behaviour well understood –little time for pay-back on product-specific components, cost of implementing superset of features

software engineering Research Challenges in SA and SPFs28 Feature Selection New, but common features –no lost product-specific development effort, future evolution less expensive –high degree of uncertainty wrt new features, DE unit may lack market understanding

software engineering Research Challenges in SA and SPFs29 Architecture Harmonisation component-centric –no effort required, product teams independent –high integration cost, organizational tension, Iterative product architecture harmonisation –reduces integration cost –harmonisation cost no immediate ROI, reference architecture agreement

software engineering Research Challenges in SA and SPFs30 Architecture Harmonisation Revolutionary architecture adoption –low integration cost, easy product integration, high degree of user interface harmonisation –cost of harmonisation taken in one release cycle

software engineering Research Challenges in SA and SPFs31 R&D Organization Mixed responsibility for product teams –simple, no organizational changes, all component extensions useful –high design erosion, schedule pressure from product development Virtual component team –good understanding of product needs, no organizational changes –loyalty conflicts

software engineering Research Challenges in SA and SPFs32 R&D Organization Component unit –clear responsibilities, clear interfaces for decision making –“local optimization”, perfectionism

software engineering Research Challenges in SA and SPFs33 Funding “Barter” –no visible changes, little overhead, easy to initiate –“handshake deals” easy to violate, project delays easily propagate, setbacks may easily kill initiative Taxation –more trustworthy and long term focus (roadmaps and release plans) –changes become visible (budget & organization), no competitive pressure for component team

software engineering Research Challenges in SA and SPFs34 Funding Licensing/royalty –market pressures, COTS replacement easily identified –component needs to be mature, if core competence, still no market pressure

software engineering Research Challenges in SA and SPFs35 Shared component scoping Only common features –efficient way of achieving early success –complex interface, inefficient knowledge management Complete component with plug-in capability –simple interface, component knowledge in one place –integration cost

software engineering Research Challenges in SA and SPFs36 Shared component scoping Encompassing component –efficient development in case of complex QAs –larger component team

software engineering Research Challenges in SA and SPFs37 Decision Framework Initial Adoption - early successes –Feature selection: new, but common features –Architecture harmonisation: component- centric –Organization: mixed responsibility for product teams –Funding: “barter” –Shared component scoping: only common features

software engineering Research Challenges in SA and SPFs38 Decision Framework Expanding scope –Feature selection: existing, but evolving, components –Architecture harmonisation: iterative product architecture harmonisation –Organization: virtual component team –Funding: taxation –Shared component scoping: complete components with plug-in capability

software engineering Research Challenges in SA and SPFs39 Decision Framework Increasing “maturity” –Feature selection: all components –Architecture harmonisation: revolutionary architecture adoption –Organization: component unit –Funding: licensing/royalty –Shared component scoping: encompassing component

software engineering Research Challenges in SA and SPFs40 Summary Early successesIncreasing scopeIncreasing maturity Feature selectionNew, but common features Existing, but evolving, components All components Architecture harmonisation Component- centric Iterative product architecture harmonisation Revolutionary architecture adoption R&D organizationMixed responsibility for product teams Virtual component teams Component units Funding“Barter”TaxationLicensing Shared component scoping Only common features Complete components with plug-ins Encompassing component

software engineering Research Challenges in SA and SPFs41 Overview introduction trends in software engineering software product families –adoption –maturity model software architecture –explicit design decisions conclusions

software engineering Research Challenges in SA and SPFs42 SPF Assessment Framework Assess the maturity of an organization regarding SPFs: 4 aspects Business Architecture Process Organization Based on J. Bosch, Maturity and Evolution in Software Product Lines: Approaches, Artefacts and Organization, Proceedings SPLC2, August 2002 and Frank van der Linden, Jan Bosch, Erik Kamsties, Kari Känsälä, Lech Krzanik, Henk Obbink A Maturity Framework for Software Product Families Evaluation, Product Family Engineering Workshop (PFE5), FOCUS

software engineering Research Challenges in SA and SPFs43 Aspect - Business Aspects Identity – integration between SPF and organization Vision – short, medium or long term perspective Objectives – none, qualitative, quantitative Strategic planning - e.g. roadmapping, ad-hoc to institutionalized process Levels Reactive Awareness Extrapolate Proactive Strategic

software engineering Research Challenges in SA and SPFs44 Aspect - Architecture Architectural “Maturity” Levels

software engineering Research Challenges in SA and SPFs45 product populations program of software product families Architectural “Maturity” Levels software product family configurable product increase product size (hierarchical SPFs) increase PF scopedecrease derivation cost Nokia telecom switchesPhilips consumer electronics Telelarm

software engineering Research Challenges in SA and SPFs46 Independent Products Product family architecture: not established Product quality: ignored or managed in an ad-hoc fashion Reuse level: Although ad-hoc reuse may occur, there is no institutionalized reuse Domain: emerging Software variability management: absent Example: most SMEs and several large companies

software engineering Research Challenges in SA and SPFs47 Standardized Infrastructure description –operating system –database –GUI –etc. some additional proprietary glue code might be present P D

software engineering Research Challenges in SA and SPFs48 Standardized Infrastructure Product family architecture: specified external components Product quality: infrastructure supports certain qualities, for the remaining qualities an over- engineering approach is used Reuse level: only external components Domain: later phases of emerging or the early phases of maturing domain Software variability management: limited variation points from the infrastructure components Example: Vertis Information Technology

software engineering Research Challenges in SA and SPFs49 Platform description: –functionality common to all products in the product family is captured –infrastructure is typically also included P D

software engineering Research Challenges in SA and SPFs50 Platform Product family architecture: only the features common to all products are captured Product quality: inherited from the platform Reuse level: reuse of internal platform components Domain: mature Software variability management: managed at platform level Example: Symbian OS

software engineering Research Challenges in SA and SPFs51 Software Product Family description: domain assets capture functionality common to several or most products P D product family architecture component set product 1product 2product n external internal...

software engineering Research Challenges in SA and SPFs52 Software Product Family Product family architecture: fully specified Product quality: a key priority for development Reuse level: managed Domain: late stages of maturing or the early stages of the established phase Software variability management: many variation points and dependencies between them Example: Axis Communications AB

software engineering Research Challenges in SA and SPFs53 Configurable Product (Base) A D marketingdevelopmentcustomer req. SW product post fielding upgrades license key driven conf. 3 rd part software

software engineering Research Challenges in SA and SPFs54 Configurable Product (Base) Product family architecture: enforced Product quality: quality attributes are implemented as variation points in the architecture and components Reuse level: automatic generation of product family members Domain: established Software variability management: automated selection and verification of variants at variation points has been optimized Example: TeleLarm AB

software engineering Research Challenges in SA and SPFs55 Two Dimensions of “Maturity” organizational maturity domain maturity (stability) low medium high lowmediumhigh CPB PL SI/PL IP/SI example

software engineering Research Challenges in SA and SPFs56 Variation Binding Times READCDimpl. comp linkinst.startrun SI PL SPL CPB

software engineering Research Challenges in SA and SPFs57 Process Maturity We follow CMMI (staged representation) Aspects : –Predictability: How predictable is software development at each level. –Repeatability: How repeatable is the development process at each level. –Quantifiability: How quantifiable is software development.

software engineering Research Challenges in SA and SPFs58 CMMI Levels Level 1: Initial Level 2: Managed Level 3: Defined Level 4: Quantitatively Managed Level 5: Optimizing

software engineering Research Challenges in SA and SPFs59 Organizational Maturity Aspects Geographic distribution Culture Roles & Responsibilities Product life cycle Levels Unit oriented Business lines oriented Business group/division Inter-division/companies Open business

software engineering Research Challenges in SA and SPFs60 Organizational Models development department business units –unconstrained model –asset responsibles –mixed responsibility domain engineering units –single domain engineering unit –one software architecture unit + component units hierarchical domain engineering units

software engineering Research Challenges in SA and SPFs61 Hierarchical Product Families product populations

software engineering Research Challenges in SA and SPFs62 Overview introduction trends in software engineering software product families –adoption –maturity model software architecture –explicit design decisions conclusions

software engineering Research Challenges in SA and SPFs63 Architecture-centric SE software engineering community has evolved through project-centric SE product-centric SE architecture-centric SE software architecture is core to modern software development and evolution

software engineering Research Challenges in SA and SPFs64 Software Architecture software architecture Architecture is the fundamental organization of a system embodied in its components, their relationships to each other and to the environment and the principles guiding its design and evolution. [IEEE Standard P1471] quality requirements Quality requirements can be categorised into development QRs, e.g. maintainability, and operational QRs, e.g. performance and reliability

software engineering Research Challenges in SA and SPFs65 Why software architecture? first class representation of SA during design –stakeholder-based assessment –assessment of quality attributes implementation –configuration management –software product lines run-time –dynamic software architectures, post-fielding upgrades, dynamic reorganization, etc.

software engineering Research Challenges in SA and SPFs66 Architectuur – 3 dimensions businesstechnology (software) organisation aspect viewpoint run-time development process conceptual infrastructurerepresentation design assessment evolution technology

software engineering Research Challenges in SA and SPFs67 Software Architecture Use Three types of SA use: single system software product families standardized domain architecture component framework [szyperski 98]

software engineering Research Challenges in SA and SPFs68 Community Assumptions software architecture is hard to change consequently, design architectures carefully –architecture assessment –architecture design software architecture is static, the stable part of the system inflexible architecture is good/fact of life!

software engineering Research Challenges in SA and SPFs69 Flexible Architectures? why is SW architecture hard to change? ignored aspect of the problem loss of design knowledge – vaporizes during –architecture design –component development –system evolution  architecture design decisions are lost

software engineering Research Challenges in SA and SPFs70 Consequences lack of first-class representation design decisions cross-cutting and intertwined high cost of change design rules and constraints violated obsolete design decisions not removed

software engineering Research Challenges in SA and SPFs71 Architecture Design Decisions architecture design decisions consists of restructuring effect design rules design constraints rationale - new principles, guidelines, etc. and are taken in response to functional requirements quality requirements

software engineering Research Challenges in SA and SPFs72 Example – Fire Alarm System 1. restructuring 2. design rule: operation tick() 4. design constraint: tick() exec. time < X ms 5. rationale: least resource consuming mechanism to achieve concurrency 3. design rule: register at scheduler on creation

software engineering Research Challenges in SA and SPFs73 Architecture Design Decisions software architecture = domain model + ADD1 + … + ADDn

software engineering Research Challenges in SA and SPFs74 Architecture Notation Problems no SOC at the architectural level withdrawing DD’s is hard imposing new DD’s is hard DD1 DD2 DD3 DD4 DD5 DD6 DD7 DD1 DD2 DD3 DD5 DD6 DD7 DD8 DD4 DD2

software engineering Research Challenges in SA and SPFs75 How to model ADDs? traditional composition techniques lack expressiveness some initial, partial ideas –implementation: architectural fragments –design: ASICO inheritance aggregation superimposition aspect weaving SOP etc.

software engineering Research Challenges in SA and SPFs76 Architectural Fragments

software engineering Research Challenges in SA and SPFs77 Example: Observer Pattern architecture Observer roles subject variables dependents : Collection; methods addDependent(newDependent : Object) begin... end; removeDependent(aDependent : Object) begin... end; observedMethod() begin for each d in dependents do d.update(self); proceed; end; observer interface update(Object); end; initial begin subject.addDependent(observer); end; end; // Observer L ay OM – Layered Object Model

software engineering Research Challenges in SA and SPFs78 Example: Measurement System architecture MeasurementSystemArchitecture roles sensor interface read end; actuator interface activate end; trigger acquaintances item-factory; methods trigger begin item-factory.trigger; proceed; end; end; item-factory layers prototype-item : PartOf(measurement-item); methods trigger begin measurement-item mi; mi := prototypeItem.copy; if (inCalibration) then mi.calibrate; end; mi.start; end; calibrate(measurement-item mi) begin prototype-item.become(mi); end; end; measurement-item acquaintances sensor; actuator; interface start; end; end; // MeasurementSystemArchitecture

software engineering Research Challenges in SA and SPFs79 Example: Measurement System application MeasurementSystem-example begin architectures aMS : MeasurementSystemArchitecture where c is-a sensor with layers a : Adapter(accept value as getFrame); end; tr is-a trigger; l is-a actuator; bci is-a measurement-item with layers sensor : Acquaintance(c); actuator : Acquaintance(l); end; o1 : Observer where tr is-a subject with layers a: Adapter(accept trigger as observedMethod); end; ui is-a observer, end; o2: Observer where c is-a subject with layers a: Adapter(accept getFrame as observedMethod); end; ui is-a observer; end; components c : Camera; tr : LightContactTrigger l : Lever; bci : BeerCanItem; ui : UserInterface; end; // MeasurementSystem-example fragment 1 fragment 2 fragment 3 domain comps.

software engineering Research Challenges in SA and SPFs80 Example: Measurement System

software engineering Research Challenges in SA and SPFs81 Conclusion introduction trends in software engineering software product families –adoption –maturity model software architecture –explicit design decisions conclusions

software engineering Research Challenges in SA and SPFs82