Quality Driven Family Architecture Development

1 downloads 0 Views 934KB Size Report
Sep 26, 2005 - 1. Quality Driven Family. Architecture Development. Prof. Eila Niemelä. VTT Technical Research Centre of Finland. E-mail: [email protected].
VTT TECHNICAL RESEARCH CENTRE OF FINLAND

QADA®

Quality Driven Family Architecture Development Prof. Eila Niemelä VTT Technical Research Centre of Finland E-mail: [email protected]

QADA®: http://www.vtt.fi/qada/

SPLC 2005 in Rennes, France, 26 Sept. 2005

© Eila Niemelä

1

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

MOTIVATION • Product family engineering is increasingly applied to software intensive systems development. • BUT • How can it be sure if product family engineering is suitable for a specific software development context? • What are the benefits, preconditions and constraints entailed in family architecture development? • How can quality issues be considered in family architecture development? • How can the maturity of a PFA be evaluated? SPLC 2005 in Rennes, France, 26 Sept. 2005

© Eila Niemelä

2

1

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

TUTORIAL OUTLINE • INTRODUCTION • MAIN CONCEPTS OF PRODUCT FAMILY ENGINEERING • OVERVIEW OF QADA® • FAMILY ARCHITECTURE SELECTION • FAS method • QUALITY REQUIREMENTS OF A SOFTWARE FAMILY • QRF method • FAMILY ARCHITECTURE EVALUATION • FAE method • CONCLUSIONS

SPLC 2005 in Rennes, France, 26 Sept. 2005

© Eila Niemelä

3

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

INTRODUCTION • PRODUCT FAMILY ENGINEERING • QUALITY ATTRIBUTES • PRODUCT FAMILY ARCHITECTURE • SOFTWARE ARCHITECTURE AND QUALITY

SPLC 2005 in Rennes, France, 26 Sept. 2005

© Eila Niemelä

4

2

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

PRODUCT FAMILY ENGINEERING

SPLC 2005 in Rennes, France, 26 Sept. 2005

© Eila Niemelä

5

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

QUALITY ATTRIBUTES IN STANDARD(S) INTERNATIONAL STANDARD ISO/IEC 91269126-1, Quality model

SPLC 2005 in Rennes, France, 26 Sept. 2005

© Eila Niemelä

6

3

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

QUALITY ATTRIBUTES IN LITERATURE diversity me

flex ibil ity

asu rab ility

performance p sim

t lici

scalability

ili sab reu

inte

ty

inte rop er

y

ty bili gra

abi lity

user-friendliness

wra ppa b

ility

ility rab sfe n a r t safety

QUALITIES

EXECUTION - performance - security - availability - usability - scalability - reliability - interoperability SPLC 2005 in Rennes, France, 26 Sept. 2005 - adaptability

EVOLUTION - maintainability

© Eila Niemelä

- flexibility - modifiability - extensibility - portability - reusability - integrability - testability

7

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

SOME DEFITIONS OF QUALITY ATTRIBUTES Quality attribute Availablity Reliablity

Modifiability Maintainability

Flexibility

Scalability

Description Availability measures the proportion of time the system/service is up and running. The ability of the system or component to keep operating over the time or to perform its required functions under stated conditions for a specified period of time. The ability to make changes quickly and costeffectively. The ease with which a software system or component can be modified to correct faults, improve performance, or other attributes, or adapt to a changed environment. The ease with which a system or component can be modified for use in applications or environments other than those for which it was specifically designed. The ease with which a system or component can be modified to fit the problem area.

SPLC 2005 in Rennes, France, 26 Sept. 2005

© Eila Niemelä

8

4

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

ARCHITECTUREARCHITECTURE-CENTRIC FAMILY ENGINEERING

Group of products share

Product Product Product

share

Managed Set of Features

Product Family Architecture

are built Component Component Componet Component Component

SPLC 2005 in Rennes, France, 26 Sept. 2005

© Eila Niemelä

9

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

ORTHOGONAL PROPERTIES OF SOFTWARE ARCHITECTURE Conceptual

Abstraction

Realizational Dynamic Static

Viewpoint Hierarchy

SPLC 2005 in Rennes, France, 26 Sept. 2005

© Eila Niemelä

10

5

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

SOFTWARE ARCHITECTURE & QUALITY ARCHITECTURE DESCRIPTION

complement each other

Multiple views

Taxonomy of orthogonal properties

Abstraction level

Decomposition of functionality -conceptual• •

Realization of the conceptual abstraction

commonalties variabilities

• • • •

Logical Concurrency

maintainability modifiability reusability portability

SPLC 2005 in Rennes, France, 26 Sept. 2005

• • •

Dynamism

Physical

performance reliability security

• • •

Aggregation level

Development

availability capacity bandwidth

© Eila Niemelä

managing administrative control

11

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

QADA viewpoints

SPLC 2005 in Rennes, France, 26 Sept. 2005

© Eila Niemelä

12

6

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

INITIATION AND EVOLUTION OF PRODUCT FAMILY ARCHITECTURE

SPLC 2005 in Rennes, France, 26 Sept. 2005

© Eila Niemelä

13

© Eila Niemelä

14

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

QADA® • Development started in 2000 • Industrial applications: • • • • • • •

Middleware services Distribution platforms Wireless services Wireless terminals Control systems Measurement systems Product families of embedded systems and software systems

SPLC 2005 in Rennes, France, 26 Sept. 2005

7

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

FAS – FAMILY ARCHITECTURE SELECTION

SPLC 2005 in Rennes, France, 26 Sept. 2005

© Eila Niemelä

15

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

CONTENT

¾METHOD AND MATERIAL ¾STRATEGY EVALUATION FRAMEWORK ¾PFA map ¾PFE strategy selection method ¾SUMMARY

SPLC 2005 in Rennes, France, 26 Sept. 2005

© Eila Niemelä

16

8

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

RESEARCH METHOD • Semi-structural interviews • Reviews of architecture documentation of two industrial companies • • • •

Collecting published papers about industrial case studies Reorganizing input material Comparison analysis Generalization of the findings • Strategy map • Approaches applied

• Step-wise approach: • 1. phase • 3 SMEs interviewed • FAE method created • 2. phase • 12 case studies from literature • The same comparison framework • 3. phase • 2 large enterprises interviewed • 4. phase • Definition of FAS

SPLC 2005 in Rennes, France, 26 Sept. 2005

© Eila Niemelä

17

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

CASE STUDIES • Types of cases: • 2 of 17 cases included more than one product family • 5 interviewed companies with 6 PFs of embedded software/systems • 11/13 PFs from literature developed embedded systems and devices • 5 companies with 6 PFs provided pure software PFs • However, 3 of them were related to embedded systems • 8 PFs in SMEs, 11 PFs in 6 large enterprises in different application fields/domains. • Type of products: • From distributed information systems to CC systems, • From HW related & DSP software to UI software, • From large integrated products (mechanics, electronics, software) to business supporting tools

SPLC 2005 in Rennes, France, 26 Sept. 2005

© Eila Niemelä

18

9

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

PFA MAP

SPLC 2005 in Rennes, France, 26 Sept. 2005

© Eila Niemelä

19

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

FINDINGS PFE ORGANISATION • Differences: • Separated domain engineering and product development (group/department/unit) • Reasons may be the types and size of product families, geographical locations, cultural differences, developers’ expertise in sites,etc. • Similarities: • PF developers and product developers were separated on the role level (but could be done also on the organisation level) • PF developers were grouped to one site, unit or department • If PF developers were divided into different organisation units, their roles and responsibilities were well defined. • Supported cooperation between PF and product development • Allocation of personnel • Migration of product specific features/components to family assets • PFA as a management tool: • Scoping, goals, responsibilities and relationships, managerial commitment • Evolutionary vs. revolutionary approach (i.e. risk avoidance)

SPLC 2005 in Rennes, France, 26 Sept. 2005

© Eila Niemelä

20

10

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

FINDINGS – PFE ROLES & RESPONSIBILITIES Role

Responsibilities

PF leader

Initiation of PFE, motivation of the staff, relationships to funding managers and marketing staff.

PF architect

Domain architecture, definitions of the architectural concepts and principles, integration architecture (exported interfaces), common mechanisms, communication of PFA concepts and principles, participation in the architecture board (AB).

Lead designer

Specific functional part (feature or medium size component) of the PFA, participating in AB.

Domain/component owner

Quality of the domain architecture and its components.

Support teams/persons

Professionals who provide their expertise for the use of other persons that play other roles in PFE (e.g. design patterns). Teams; domain analysts, technical experts and core assets developers (system and code levels). Single (large) platform team and multiple small and high-skilled product teams. An application specialist working as a member of the AB and product testing. Market analysts

Architecture board (AB)

Quality control Permanent members or members are changing according to running products. Project managers, the PFA architect, lead designers), product architects.

Product architect

Product derivation; feature/component leverage from a product to the product family.

Project/product manager

Management of product development and deployment.

SPLC 2005 in Rennes, France, 26 Sept. 2005

© Eila Niemelä

21

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

FINDINGS – POTENTIAL OF PFE PFA approach

Requires/provides/constraints

Potential

Product family architecture as a means of abstraction, communication and management

A domain architecture with variation points, architectural styles and patterns, and component types; application-driven. Long-term investment, standards are less important than knowledge about domains and architecture styles and patterns.

Product variations are maintainable and a product family is extensible.

Configurable features or/and components base as a means of managing technology know-how

Explicit component architecture, specific mechanisms for variation points, configuration DB, rules and tools, differentiating price; application driven but highly technology dependent. Extra effort for configuration, quick derivation and deployment.

Customised products by tailoring or by software keys, easy maintenance, extensions by strictly defined configuration rules.

Internal platform as a means of communication and management

Generic communication mechanisms, generic IT technologies; technology-driven approach. Frameworks for sub-domains

Focus on execution qualities, e.g. performance and reliability. Flexibility through managed variation points.

Product platform as a means of management and communication

Vertical application domain knowledge; focus from technology towards business and organisation. APIs, MOTS for other PFs

The same as in the internal platform but more focused on management.

Packaged services as a means of management, communication and abstraction

PC as a generic platform; add-ons for main products, differentiating price, improved customers’ satisfaction.

Focus on customers’ needs; easy to install, learn and maintain.

SPLC 2005 in Rennes, France, 26 Sept. 2005

© Eila Niemelä

22

11

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

PFE STRATEGY SELECTION METHOD

Phases: 1. Assumptions evaluation 2. Target PFA decision 3. PFE strategy selection

SPLC 2005 in Rennes, France, 26 Sept. 2005

© Eila Niemelä

23

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

PHASE 1: ASSUMPTIONS EVALUATION Goal: • To identify assumptions for successful PFE adoption • Future customer needs are known or can be predicted • Short delivery times provide competitive advantage, for example, by extending market share or entering new emerging markets. • Product costs have remarkable dependence on software development and maintenance. • Products can be used in various ways, e.g. they are used as such and/or with other products. • High quality of products is essential in achieving customer satisfaction.

SPLC 2005 in Rennes, France, 26 Sept. 2005

© Eila Niemelä

24

12

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

PHASE1PHASE1- EVALUATION CRITERIA

Issue

Criterion

Customer needs

Predictability

Shortening delivery times

Cutting edge

Cost structure (software/products)

Profitability

Customisation

Variability

Quality

Customer satisfaction

SPLC 2005 in Rennes, France, 26 Sept. 2005

© Eila Niemelä

25

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

PHASE 22- STEP1: TARGET PFA DECISION Goal: • To find out the strengths and weaknesses of a company in the context of PFE • Evaluation of the status quo of the architecture of existing products • Products; criteria are depending on domains, used technologies and customers’ needs • Personnel know-how; criteria are depending on product qualities • The FAE method can be applied

SPLC 2005 in Rennes, France, 26 Sept. 2005

© Eila Niemelä

26

13

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

PHASE 2 - STEP2: IDENTIFY SUCCESS FACTORS AND THEIR IMPORTANCE Success factor

Criteria

PFA alternative

Managing customer needs

Customer satisfaction Time-to-market

Configurable features/components base Configurable product family base

Key competence

Cutting edge

Internal platform, Configurable features/components base

New opportunities

Cutting edge

Platform product Packaged services

Effective work organisation

Cost effectiveness

PFA

Evolution management

Cost effectiveness

PFA Configurable features/components base

SPLC 2005 in Rennes, France, 26 Sept. 2005

© Eila Niemelä

27

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

PHASE 2 - STEP3: STEP3: ESTIMATE ROI In v e s tm e n t

• Return on investment is estimated for the different ways of implementing PFA C o n g iru g a b le P ro d u c t F a m ily B ase

• Criteria: investment and potential • Economic models needed • Example is an intuitive estimation based on the collected data.

PFA

C o n fig u ra b le F e a tu re s /C o m p o n e n ts B ase P la tfo rm P ro d u c t

In te rn a l P la tfo rm

P ackaged S e rv ic e s

P o te n tia l SPLC 2005 in Rennes, France, 26 Sept. 2005

© Eila Niemelä

28

14

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

PHASE3: PFE STRATEGY SELECTION

Strategy

Means

Criteria

1. Minimizing risks

internal platform

identified commonalities, high technological competence, the size of product family

2. Extending market share

platform product

high technological competence, openness, market share, organization model

3. Maximizing end-user satisfaction

packaged services

familiarity with end-user needs

4. Balancing cost and customer satisfaction

internal platform + configurable features /components base

separation of commonalities and variabilities, the amount of customization, quality of products

SPLC 2005 in Rennes, France, 26 Sept. 2005

© Eila Niemelä

29

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

PHASE3: PFE STRATEGY SELECTION Strategy

Means

Criteria

5. Maximizing customer satisfaction

Configurable product family base

quality of products, short delivery times

6. Balancing cost and potential

PFA

complexity and variability, market share, new markets

7. Balancing cost, customer satisfaction And potential

PFA + Configurable features/compoentsbase

complexity, variability, delivery times, market share, emerging new markets

8. Maximizing potential

PFA + Configurable features/components base + Platform product + Packaged services

complexity, variability, cost effectiveness, delivery times, customer satisfaction, market share, emerging new markets

SPLC 2005 in Rennes, France, 26 Sept. 2005

© Eila Niemelä

30

15

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

SUMMARY OF FAS • Six ways of applying PFA and eight PFE strategies to implement PFE have been identified • Selecting the most appropriate PFE approach is an important issue for a company • Decision making has to be based on data collected from measurements, analysis reports, business visions and strategies complemented by interviewing the best experts of a company. • The FAS method is based on the knowledge gained from industrial case studies and experiences but the method as such has not been applied to industrial cases yet.

SPLC 2005 in Rennes, France, 26 Sept. 2005

© Eila Niemelä

31

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

QRFQUALITY REQUIREMENTS OF A SOFTWARE FAMILY

SPLC 2005 in Rennes, France, 26 Sept. 2005

© Eila Niemelä

32

16

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

INTRODUCTION • QRF captures and maps the requirements of a system family to the family architecture by • analyzing the needs of business and technology development stakeholders, and • analyzing the impact of these needs on the family architecture. • QRF describes in detail how the quality requirements have to be defined, represented and transformed to architectural models • this enables quality evaluation at an early phase with minimal time investment. • QRF is aimed especially for product families but it is also suitable for single systems SPLC 2005 in Rennes, France, 26 Sept. 2005

© Eila Niemelä

33

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

METHOD OVERVIEW The QRF consists of five steps: 1. 2. 3. 4. 5.

Impact analysis Quality analysis Variability analysis Hierarchical domain analysis Quality representations

SPLC 2005 in Rennes, France, 26 Sept. 2005

© Eila Niemelä

34

17

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

QRF & QADA

2. Quality analysis

3. Variability analysis

4. Hierarchical domain analysis

1. Impact analysis

5. Quality representations

SPLC 2005 in Rennes, France, 26 Sept. 2005

© Eila Niemelä

35

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

1. IMPACT ANALYSIS Goal: To define the interested stakeholders and their targets concerning the product family • The concerns of different stakeholders are negotiated to achieve all relevant functional and quality requirements of a product family • I*framework is used for requirements definition and negotiation • I*framework enables to describe dependencies and conflicts between stakeholders’ concerns example SPLC 2005 in Rennes, France, 26 Sept. 2005

© Eila Niemelä

36

18

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

2. QUALITY ANALYSIS Goal: To express quality requirements (QR) in a way that they can later be traced and measured • QAs must be prioritized • Requirements on the highest priority level have always to be met in architecture (to be considered in trade-off analysis) • Evaluation criteria are derived from the QRs and classified to evaluation levels, e.g.: • Family specific QRs of • high priority • medium priority • low priority

• System/domain specific QRs of • high priority • medium priority • low priority SPLC 2005 in Rennes, France, 26 Sept. 2005

© Eila Niemelä

37

example

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

3. VARIABILITY ANALYSIS Goal: To define the QRs that vary on the business domain or stakeholders • Types of variability: • Variability among quality attributes • For example, for one family member the reliability is important, but for other family members there are no reliability requirements. • Different priority levels in quality attributes • For example, for one family member the extensibility requirements are extremely high, whereas for others those requirements are at the lower level. • Indirect variation • Functional variability can indirectly cause variation in the quality requirements and vice versa.

Example

SPLC 2005 in Rennes, France, 26 Sept. 2005

© Eila Niemelä

38

19

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

4. HIERARCHICAL DOMAIN ANALYSIS

Goal: To map common and variable QAs to hierarchical service categories • The QRs common to all family members must be mapped to the common functionality of the family • The architect has to decide which services are responsible for each quality requirement (scoping) • One requirement may be mapped to several functional services (dependency mgmt) • The quality requirements themselves may result in certain functionality (i.e. execution QAs) • The requirements mapping is a specific work of the software architects and requires an extensive knowledge of the product family and its members

Example

SPLC 2005 in Rennes, France, 26 Sept. 2005

© Eila Niemelä

39

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

5. QUALITY REPRESENTATION

Goal: To describe architecture in a way that the QRs can be evaluated from the architectural models There are two main means to achieve quality requirements in architecture: 1. The use of architectural styles and patterns • Styles and patterns employ qualitative reasoning to motivate when and under what conditions they should be used 2. The use of qualitative constrains, e.g. specific quality profiles • Profiles can be defined to extend the architectural models to support certain quality aspects SPLC 2005 in Rennes, France, 26 Sept. 2005

© Eila Niemelä

40

20

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

QUALITY REPRESENTATIONS: styles and patterns

• Candidate architectural styles must be identified. For each style, it is examined how it meets the quality requirements • Possible conflicts between QRs are identified and the trade-off analysis is carried out • NFR (Non-Functional Requirements) framework or Stylebase can be utilized in style selection and in conflicts solving • The architectural style that meets the QRs best is then selected

SPLC 2005 in Rennes, France, 26 Sept. 2005

© Eila Niemelä

41

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

QUALITY REPRESENTATIONS: quality profiles • UML 2.0 enables the description of all the viewpoints of QADA • UML notation can be extended to support certain quality attributes using UML’s own extension mechanism, profiles

Example

• A profile consists of stereotypes, tagged definitions and constraints • By creating a new stereotype, defining tags for it, and denoting the stereotype to extend the desired meta-class, the certain elements in architecture can be extended with a new profile • Profiles enable the attachment of quality properties to the architectural models SPLC 2005 in Rennes, France, 26 Sept. 2005

© Eila Niemelä

42

21

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

APPLYING QRF • The steps of the method are the same considering all quality attributes • The QRF method has been applied for evaluating • execution qualities (e.g. reliability and availability) and • evolution qualities (e.g. integrability and extensibility)

Go To Next SPLC 2005 in Rennes, France, 26 Sept. 2005

© Eila Niemelä

43

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

Case example: A Distributed Services Platform (DiSeP) DiSeP) • DiSeP system family provides a distribution platform for a family of software systems. • Includes three family members: middleware systems for game, health care and emergency intervention applications.

SPLC 2005 in Rennes, France, 26 Sept. 2005

© Eila Niemelä

44

22

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

Example – 1. Impact analysis System family architect

Middleware service capability to recover Data replication Data consistency is verified

Emergency intervention application

System 3 architect

Service availability is very high

End user (doctor, police)

Response time is short

Middleware Emergency application developer

Fault occurrence is prevented

Messages are not lost and integrity is ensured Very fast service recovery Service execution back-up

back SPLC 2005 in Rennes, France, 26 Sept. 2005

© Eila Niemelä

45

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

Example – 2. Quality analysis - QR identification & prioritization

Req ID

Requirement description

Stakeholder

Importance

R2.1

Middleware services are able to recover

System family architect

high

R5

Data consistency is verified in every 5 seconds

System family architect

low

R1-S3

The probability of failure is not over 0,01

End user of application

high

R2.2S3

Recovery time of the middleware services is 3 seconds

End user of application

medium

SPLC 2005 in Rennes, France, 26 Sept. 2005

© Eila Niemelä

46

23

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

Example - 2. Quality analysis - Mapping R&A requirements to functionality

• Mapping family-specific R&A requirements to functionality R&A requirement

Corresponding service

R2.1

All the involved basic, system and communication services

R5

Data distribution

R6

Data distribution, Location service

R7

Data distribution

SPLC 2005 in Rennes, France, 26 Sept. 2005

© Eila Niemelä

47

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

Example – 2. Quality analysis - Order of evaluation Evaluation level

Evaluation criteria

Corresponding requirement

Level 1

System family-specific requirements

R2.1, R5, R6, R7

Level 2

High level system-specific requirements

A1-S3, A2-S3, R1-S3, R3-S3, R4-S3, R8-S3, R9-S3

Level 3

Medium level system-specific requirements

R2.2-S3, A3-S3, A4S3

Level 4

Low level system-specific requirements

-

SPLC 2005 in Rennes, France, 26 Sept. 2005

© Eila Niemelä

48

24

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

Example – 2. Quality analysis - Selecting an architectural style and doing the tradetrade-off analysis •

NFR framework for detecting conflicts Reliability

Recovery +++

Performance

Data replication +++

Forward recovery +++

Backward recovery ++

Layered architecture

Space performance +

Time performance +++

Remote unit +++

Local +

Simplex

ABAS SPLC 2005 in Rennes, France, 26 Sept. 2005 © Eila Niemelä

Implicit invocation

Black board

49

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

Example – 2. Quality analysis - Defining criteria for R&A evaluation

Criteria for evaluation of the DiSep system family

Back

Evaluation level

Evaluation criteria

Corresponding requirement

Level 1

System family-specific requirements

R2.1, R5, R6, R7

Level 2

High level system-specific requirements

A1-S3, A2-S3, R1-S3, R3-S3, R4-S3, R8-S3, R9-S3

Level 3

Medium level system-specific requirements

R2.2-S3, A3-S3, A4-S3

Level 4

Low level system-specific requirements

-

Evaluation criteria

Req.ID

Importance

Impacted architectural elements

Service capability to recover

R2.1

medium

All basic, system and communication services

Data consistency verification Data loss prevented in error situations

R5

medium

Data distribution

R7

medium

Data distribution

Data replication

R6

low

Data storage, data distribution, location service

SPLC 2005 in Rennes, France, 26 Sept. 2005

© Eila Niemelä

50

25

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

Example – 3. Variability analysis

System

Functionality

R&A importance

S1: A middleware for game application

Light functionality

Low

S2: A middleware for health care application

Restricted functionality

Medium

S3:A middleware for emergency intervention application

Full functionality

High

SPLC 2005 in Rennes, France, 26 Sept. 2005

© Eila Niemelä

51

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

Example – 3. Variability analysis -Describing variability in R&A qualities Game application

Middleware

No breaks in communication

End user (game palyer)

Reliability is at low level

Message loss is medium low Game application developer

Service recovery at medium rate User notification of failures/shutdowns

Service recovery in medium time

System 1 architect

Middleware

Health care application

System family architect

Middleware service capability to recover Data replication

End user (medical worker)

Data is always correct Reliability is at high level Recovery time is fast

Health care application developer

Back

Data correctness is ensured

Service availability is very high Response time is short

Messages are not lost Service recovery at medium rate

Emergency intervention application

End user (doctor, police)

System 2 architect

Data consistency is verified

System 3 architect

Middleware Emergency application developer

Fault occurrence is prevented SPLC 2005 in Rennes, France, 26 Sept. 2005

© Eila Niemelä

Messages are not lost and integrity is ensured Very fast service recovery

52

Service execution back-up

26

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

EXAMPLE – 4. Hierarchical domain analysis Service

Responsibility

Family-specific R&A requirement

System-specific R&A requirements for S3

Data distribution

Contributes to the operation of distributed data storage. Creates, maintains and tracks connections to other units in order to share data. Allows data to be stored in local resources. Negotiates about the copying, transferring or deleting data if necessary.

R2.1, R5, R6

R7R1-S3, R2.2-S3, R4S3, R8-S3

Location service

Sends after the given time period a notification signal about the existence of the node in the network. Maintains the location map of the network. Sends a signal to the user services of the own node to start registration when first time connected to the network. Announce the availability of the system services

R2.1, R6

R1-S3, A1-S3, R2.2-S3, A3-S3, R8-S3

Advertiser

Informs the active system service provider the availability of the user services of the own node.

R2.1

R1-S3, R2.2-S3

Observer

Routes messages from network to listeners and forward asynchronous messages. Routes outgoing messages to the network.

R2.1

R1-S3, R2.2-S3, R4-S3

back SPLC 2005 in Rennes, France, 26 Sept. 2005

© Eila Niemelä

53

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

EXAMPLE – 5. Quality representations Service

Familyspecific requirement

System-specific requirements

Data distribution

R2.1, R5, R6

R7R1-S3, R2.2S3, R4-S3, R8S3

Location service

R2.1, R6

R1-S3, A1-S3, R2.2-S3, A3-S3, R8-S3

Advertiser

R2.1

R1-S3, R2.2-S3

Observer

R2.1

R1-S3, R2.2-S3, R4-S3

back SPLC 2005 in Rennes, France, 26 Sept. 2005

© Eila Niemelä

54

27

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

SUMMARY OF QRF The QRF method • aims to enable quality evaluation at an early phase of system development • includes steps and techniques for eliciting quality requirements, and transforming and modeling them in product family architecture • is suitable especially for product families, allowing to manage variable requirements • helps in architecture evaluation • has been applied to two experiments (laboratory and industrial)

SPLC 2005 in Rennes, France, 26 Sept. 2005

© Eila Niemelä

55

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

FAMILY ARCHITECTURE EVALUATION (FAE) • WHY IS EVALUATION NEEDED? • To find out what is the maturity of PFA • To analyse if PFA takes (changed) business drivers into account • To discover how emerging new products can be merged to PFA • Benchmarking and assessment of PFA – improvements needed

SPLC 2005 in Rennes, France, 26 Sept. 2005

© Eila Niemelä

56

28

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

FAMILY ARCHITECTURE EVALUATION - FAE • Background • FAE method • Steps • Comparison framework • Application of the method • Structural interviews • Analysis of existing material • Industrial case studies • Summary

SPLC 2005 in Rennes, France, 26 Sept. 2005

© Eila Niemelä

57

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

BACKGROUND • Evaluation criteria framework for PFE adoption • Business drivers, domains and core assets from the viewpoints of • Organization culture and processes • Product family architecture • Assets management (development and evolution) • Architectural views • QADA with 4 views (Structure, Behavior, Deployment, Development) in two abstraction levels: conceptual and concrete

SPLC 2005 in Rennes, France, 26 Sept. 2005

© Eila Niemelä

58

29

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

MATURITY LEVELS OF PRODUCT FAMILIES

SELF-CONFIGURABLE PRODUCTS

VARIANT PRODUCTS

SOFTWARE PLATFORM

STANDARDIZED INFRASTRUCTURE

INDEPENDENT PRODUCT DEVELOPMENT

Based on: Frank van der Linden et al. Software Product Family Evaluation, SPLC 2004 SPLC 2005 in Rennes, France, 26 Sept. 2005

© Eila Niemelä

59

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

FAMILY EVALUATION FRAMEWORK (FEF) - ARCHITECTURE DIMENSION

Aspects Product family architecture

Level 1 not established

Product quality

ignored or ad-hoc

Reuse level

ad-hoc

Variability management

absent

Level 2 specified external components through infrastructure, overengineering external components

Level 3 common features captured inherited from platform

Level 4 fully specified

Level 5 enforced

a key priority

implemented as variation points

internal platform components

managed

limited variation points in infrastructure

managed in platform level

many variation points and dependencies between them

automatic generation of family members automatic selection and verification of variants in variation points is optimized

Source: Frank van der Linden et al. Software Product Family Evaluation, SPLC 2004

SPLC 2005 in Rennes, France, 26 Sept. 2005

© Eila Niemelä

60

30

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

OVERVIEW OF FAE Method steps ANALYSIS DATA COLLECTED BY STRUCTURAL INTERVIEWS OR FROM OTHER SOURCES organized based on the evaluation criteria framework

REVIEW / INSPECTION OF ARCHITECTURAL ARTIFACTS

ANALYZING RESULTS

EVALUATION based on FEF-A SPLC 2005 in Rennes, France, 26 Sept. 2005

Prerequisites and Instructions - Interviews max 2 hours - Classified questions about business, domain and technology - Different stakeholders - Other sources: experience reports of PFE, measured data, analysis reports on successful products and projects, business visions & strategies, marketing reports - Up-to-date PFA documentation - 1-2 weeks for each review

- PFA Comparison framework: 44 questions related to PFA and its relations to business, organization and process.

- Mapping results to FEF-A levels considering 4 aspects and 3 characteristics © Eila Niemelä

61

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

PFA COMPARISON FRAMEWORK - Business to PFA Dimension

Aspect

Item

Business to PFA

Domain

1. Driving force: technology, application, both 2. Main functional properties 3. Quality requirements 4. Change frequency in a domain 5. Life-cycle or customer specific features 6. Trend in customer needs

Openness

1. Number of 3rd party components 2. Number of subcontractors/component providers

Variability

1. Number of members in a product family 2. Different parts; %/features; number of functional subsystems/components, %/total software 3. Reasons for differentiation 4. Assembling is based on existing components, (re)used/modified and new components 5. Variable quality requirements 6. Variability management 7. Customized 3rd party components

SPLC 2005 in Rennes, France, 26 Sept. 2005

© Eila Niemelä

62

31

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

PFA COMPARISON FRAMEWORK - PFA Dimension Aspect

Item

PFA

Context

1. Identified domains 2. Reasons for their importance 3. Visibility of domains in PFA

Domain knowledge

1. Common architecture for family members 2. Platforms 3. Shared components

Variability

1. Common properties 2. Binding time

Core assets

1. What are they? 2. Architectural styles and patterns 3. Design patterns 4. Component model 5. Appropriateness of the component model 6. Separation of hardware-related variability

SPLC 2005 in Rennes, France, 26 Sept. 2005

© Eila Niemelä

63

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

PFA COMPARISON FRAMEWORK - PFA to process and organization •



PFA to process • Methods in architecting • Modeling languages • Validation practices • Selection of 3rd party components • Stakeholders of PFA • Guidelines (in practice) PFA to organization • Number of domain engineers • Applied standards and other constraints • PFE familiarity • MDA familiarity • Effort used for sharing domain/design knowledge • Importance of documentation in knowledge sharing

SPLC 2005 in Rennes, France, 26 Sept. 2005

© Eila Niemelä

64

32

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

I – INTERVIEWS IDENTIFY IMPROVEMENTS •



• •



A separation of technology-driven and application-driven software into two different product families Two platforms for the relatively rarely changing components including the necessary mechanisms for managing quality attributes, variation points and variability dependencies Removing frequently changing software totally from the product families Regeneration of the product family (new software technologies, mechanisms for qualities, variations and dependencies) Quality and variability management for automatic testing SPLC 2005 in Rennes, France, 26 Sept. 2005

© Eila Niemelä

65

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

II – LITERATURE ANALYSIS UNDERSTAND RATIONALE BEHIND PFE • The FAE comparison framework was applied to analysing the collected material of existing case studies (19 product families) • The method helped to organize, compare and distil meaningful similarities and differences • Due to missing information all comparison items could not be handled • Family architecture strategy selection method is defined based on the analysis results • => Comparison framework is usefull for selecting a PFA approach and comparing PFAs of different organizations

SPLC 2005 in Rennes, France, 26 Sept. 2005

© Eila Niemelä

66

33

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

III - APPLYING FAE TO INDUSTRIAL CASES HOW & WHEN • FAE method was applied to 3 industrial cases • Input was collected in different ways: • Interviews (several stakeholders) • Existing architecture descriptions • Technical meetings • Workshops • Results were presented in a workshop • Discussion – not presentation - oriented • WHEN • Initiation of a PFA • Modernization of a PFA • During establishing/modernizing PFA SPLC 2005 in Rennes, France, 26 Sept. 2005

© Eila Niemelä

67

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

SUMMARY OF FAE • Comparison framework is a useful tool for evaluation • works in many situations • inside a company/PF • between companies/PFs • easy to adapt to different kinds of uses • integrator, system provider, software provider • integrated products, software products, multitechnological products • usable for different purposes • improvements identification • comparative analysis • minimizing risks by early evaluation • in repeatable use => • PF life cycle management • The same approach is suitable for evaluating PFA relations to other FEF dimensions SPLC 2005 in Rennes, France, 26 Sept. 2005

© Eila Niemelä

68

34

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

CONCLUSIONS FAS • To be applied to an industrial case study • Metrics for collecting the needed information (automatically) QRF • Applied in industry • Tool support needed, especially for large software systems FAE • Easy and adaptable • May be extended and used for collecting measurements for FAS In the future, the methods will be adapted and applied to Open Source and Inner Source software development SPLC 2005 in Rennes, France, 26 Sept. 2005

© Eila Niemelä

69

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

REFERENCES – Product Family Architectures • Niemelä, E. Strategies of Product Family Architecture Development. To appear in SPLC 2005, 12 p • Niemelä, E., Matinlassi, M., Taulavuori, A. Practical Evaluation of Software Product Family Architectures, The 3rd International Conference on Software Product Lines, SPLC3, August- September 2004, 130-145. • Matinlassi, Mari. Comparison of software product line architecture design methods: COPA, FAST, FORM, KobrA and QADA. - Proceedings of the 26th International Conference on Software Engineering (ICSE 2004), Edinburgh, UK, 23 - 28 May 2004. (2004), 127 - 136. • Dobrica, L., Niemelä, E. 2004. UML Notation Extensions for Product Line Architectures Modeling, The 5th Australasian Workshop on Software System Architectures (AWSA 2004), Melbourne, Australia, April 13-14, 2004, 44-51. • Lago, P, Niemelä, E., van Vliet, H. Tool Support for Traceable Product Evolution, European Conference on Software Maintenance and Reengineering, CSMR, Tampere, Finland, March 24-26, 2004, 261-269 • Niemelä, E., Ihme, T. 2001. Product Line Software Engineering of Embedded Systems. Proceedings of SSR'01, Symposium on Software Reusability, Toronto, Ontario, Canada, May 18-20, 2001, pp. 118-125.

SPLC 2005 in Rennes, France, 26 Sept. 2005

© Eila Niemelä

70

35

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

REFERENCES – Quality Driven Architecture Design •

Niemelä, E., Kalaoja, J., Lago, P. Toward an architectural knowledge base for wireless service engineering. IEEE Trans. on Software Engineering,Vol. 31, No 5, May 2005, pp. 361-379



Purhonen, A., Niemelä, E., Matinlassi, M. Viewpoints of DSP Software and Service Architectures. In the Journal of Systems & Software. 2004. Vol. 69, No. 1-2, 57-73.



Merilinna, Janne; Matinlassi; Mari. Evaluation of UML tools for model-driven architecture. 11th Nordic Workshop on Programming and Software Development Tool and Techniques NWPER'2004. Turku, 17 - 19 Aug. 2004. TUCS General Publications (2004)



Niemelä, E., Matinlassi, M., Lago, P. Architecture-centric approach to wireless service engineering. The Annual Review of Communications. International Engineering Consortium. Vol. 56. October 2003, 875-889. ISBN: 0931695-22-9.



Matinlassi, M., Niemelä, E, Dobrica, L. Quality-driven architecture design and quality analysis method. A revolutionary initiation approach to a product line architecture. Espoo, VTT Electronics, VTT Publications 456, 2002, 128 p. + 10 p. ISBN 951-38-5967-3; 951-38-5968-1.



Merilinna, J. 2005. A Tool for Quality-Driven Architecture Model Transformation. Espoo, VTT Electronics. 106 p. + app. 7 p. VTT Publications; 561 ISBN 951-38-6439-1; 951-38-6440-5 http://www.vtt.fi/inf/pdf/publications/2005/P561.pdf Immonen, A. and Niskanen, A. A tool for reliability and availability prediction. Accepted to the 31th Euromicro Conference on Software Engineering and Advanced Applications. 2005, Porto, Portugal. 8 p.

• •

Merilinna, J. and Niemelä, E. A Stylebase as a Tool of Quality-Driven Software Architecture Modelling. In: Proceedings of the Ninth Symposium on Programming Languages and Software Tools, August 13-14, 2005, Tartu, Estonia. Pp. 97-111. ISBN 9949-11-113-7.

SPLC 2005 in Rennes, France, 26 Sept. 2005

© Eila Niemelä

71

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

REFERENCES – Quality Evaluation •

Immonen, A., A method for predicting reliability and availability at the architectural level. To appear in Research Issues in Software Product-Lines - Engineering and Management, Käkölä, T. & Dueñas, J.C. (Eds.), 2005, Springer.



Immonen, A., Niemelä, E., Matinlassi, M. Evaluating the integrability of COTS components - software product family viewpoint. In: Testing Commercial-off-the-Shelf Components and Systems, Beydeda, Sami; Gruhn, Volker (Eds.), Jan. 2005, Springer-Verlag, ISBN: 3-540-21871-8,. 141-168.



Matinlassi, M. Evaluating the portability and maintainability of software product family architecture: terminal software case study. - Proceedings of the 4th IEEE/IFIP Conference on Software Architecture (WICSA), 12 - 15 June 2004 Oslo, Norway, Magee, J., Szyperski, C., Bosch, J. (Eds). IEEE Computer Society (2004), 295 – 298



Matinlassi, M., Niemelä, E. The impact of maintainability on component-based software systems. The 29th Euromicro conference, Component-based software engineering track. Antalya, Turkey, 3-5 Sep. 2003, 25-32.



Dobrica, L., Niemelä, E. A Survey on Software Architecture Analysis Methods. IEEE Transactions on Software Engineering, Vol. 28, No 7, July 2002, 638-653.



Dobrica, L., Niemelä, E. A strategy for analysing product-line software architectures. VTT Espoo: Technical Research Centre of Finland, VTT Publications 427, 2000, 124 p. ISBN 951-38-5598-8



Dobrica, L.; Niemelä, E. 2000. Attribute-based product-line architecture development for embedded systems. Proceedings of the 3rd Australasian Workshop on Software and Systems Architectures. Sydney, 19 - 20 Nov 2000. IEEE. US (2000), 76 – 88.



See QADA also at http://www.vtt.fi/qada/

SPLC 2005 in Rennes, France, 26 Sept. 2005

© Eila Niemelä

72

36

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

OTHER REFERENCES •

van der Linden, F., Bosch, J., Kamsties, E., Känsälä, K., Obbink, H. Software Product Family Evaluation. SPCL 2004, Boston, USA, pp. 110-129



Bosch, J. On the Development of Software Product-Family Components. SPLC 2004, Boston, USA, pp. 146-164.



Bass, L., Clements, P., Kazman, R.. Software Architecture in Practice. Reading, Massachusetts: Addison-Wesley, 1998.



Bosch, J. Design and Use of Software Architectures - Adopting and Evolving a Product line Approach, Addison Wesley, 2000. ISBN 0-201-67494-7.



Hofmeister, C., Nord, R., Soni, D. Applied software architecture. Addison-Wesley, 1999.



P. B. Krutchen. The 4+1 View Model of Architecture. IEEE Software, November 1995, pp. 42−50.



Buhne, S., Chastek, G., Käkölä, T., Knauber, P., Northrop, L., Thiel, S.: Exploring the Context of Product Line Adoption. Lecture Notes in Computer Science, Vol. 3013. Springer-Verlag, Berlin Heidelberg New York (2003)



Schmidt, K., Verlage, M.: The Economic Impact of Product Line Adoption and Evolution. IEEE Software, 19 (4), (2002), 50-57.



Clements, P., Northrop, L.: Software Product Lines: Practices and Patterns. Boston, MA, USA: Addison-Wesley. (2002)



van der Linden, F., Bosch, J., Kamsties, E., Känsälä, K., Krzanik, L., Obbink, H.: Software Product Family Evaluation. Lecture Notes in Computer Science, Vol. 3014. Springer-Verlag, Berlin Heidelberg New York (2003), 376-394



Obbink, H., America, P., van Ommering, R., Muller, J., van der Sterren, W., Wijnstra, J. G.: COPA: A Component-Oriented Platform Architecting Method for Families of Software-Intensive Electronic Products. SPLC1, (2000)



America, P., Rommes, E., Obbink, H.: Multi-View Variation Modeling for Scenario Analysis. Lecture Notes of Computer Science, Vol. 3013. Springer-Verlag, Berlin Heidelberg New York (2003)



Wijnstra, J.G.: Evolving a Product Family in a Changing Context. Lecture Notes of Computer Science, Vol. 3013. Springer-Verlag, Berlin Heidelberg New York (2003).

SPLC 2005 in Rennes, France, 26 Sept. 2005

© Eila Niemelä

73

37

Suggest Documents