VTT TECHNICAL RESEARCH CENTRE OF FINLAND - VTT Virtual project

37
1 VTT TECHNICAL RESEARCH CENTRE OF FINLAND SPLC 2005 in Rennes, France, 26 Sept. 2005 © Eila Niemelä 1 Quality Driven Family Quality Driven Family Architecture Development Architecture Development Prof. Prof. Eila Eila Niemelä Niemelä VTT Technical Research Centre of Finland VTT Technical Research Centre of Finland E-mail: [email protected] QADA ® QADA ® : http://www.vtt.fi/qada/ VTT TECHNICAL RESEARCH CENTRE OF FINLAND SPLC 2005 in Rennes, France, 26 Sept. 2005 © Eila Niemelä 2 MOTIVATION 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?

Transcript of VTT TECHNICAL RESEARCH CENTRE OF FINLAND - VTT Virtual project

Page 1: VTT TECHNICAL RESEARCH CENTRE OF FINLAND - VTT Virtual project

1

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

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

Quality Driven Family Quality Driven Family Architecture DevelopmentArchitecture Development

Prof. Prof. EilaEila NiemeläNiemeläVTT Technical Research Centre of FinlandVTT Technical Research Centre of Finland

E-mail: [email protected]

QADA®

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

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

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

MOTIVATIONMOTIVATION

• 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?

Page 2: VTT TECHNICAL RESEARCH CENTRE OF FINLAND - VTT Virtual project

2

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

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

TUTORIAL OUTLINETUTORIAL 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

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

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

INTRODUCTIONINTRODUCTION

• PRODUCT FAMILY ENGINEERING

• QUALITY ATTRIBUTES

• PRODUCT FAMILY ARCHITECTURE

• SOFTWARE ARCHITECTURE AND QUALITY

Page 3: VTT TECHNICAL RESEARCH CENTRE OF FINLAND - VTT Virtual project

3

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

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

PRODUCT FAMILY ENGINEERINGPRODUCT FAMILY ENGINEERING

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

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

QUALITY ATTRIBUTES IN STANDARD(S) QUALITY ATTRIBUTES IN STANDARD(S) INTERNATIONAL STANDARD ISO/IEC 9126INTERNATIONAL STANDARD ISO/IEC 9126--11, , Quality modelQuality model

Page 4: VTT TECHNICAL RESEARCH CENTRE OF FINLAND - VTT Virtual project

4

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

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

QUALITIES

performance

scalability

reusabilitymeasurability

transferability

user-friendliness safetysimplicity

wrappabilitydiversityinteroperability

integrabilityflexibility

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

- performance- security- availability- usability- scalability- reliability- interoperability- adaptability

EXECUTION EVOLUTION

QUALITY ATTRIBUTES IN LITERATUREQUALITY ATTRIBUTES IN LITERATURE

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

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

SOME DEFITIONS OF QUALITY ATTRIBUTESSOME DEFITIONS OF QUALITY ATTRIBUTES

Quality attribute

Description

Availablity Availability measures the proportion of time the system/service is up and running.

Reliablity 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.

Modifiability The ability to make changes quickly and cost-effectively.

Maintainability 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.

Flexibility 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.

Scalability The ease with which a system or component can be modified to fit the problem area.

Page 5: VTT TECHNICAL RESEARCH CENTRE OF FINLAND - VTT Virtual project

5

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

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

ARCHITECTUREARCHITECTURE--CENTRIC FAMILY CENTRIC FAMILY ENGINEERINGENGINEERING

share

share Product Family

Architecture

Managed Set of Features

Componet Component Component

are built

Product Product

Product

Group of products

Component Component

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

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

ORTHOGONAL PROPERTIES OF SOFTWARE ORTHOGONAL PROPERTIES OF SOFTWARE ARCHITECTUREARCHITECTURE

Conceptual

Realizational

Hierarchy

Abstraction

DynamicStatic

Viewpoint

Page 6: VTT TECHNICAL RESEARCH CENTRE OF FINLAND - VTT Virtual project

6

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

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

SOFTWARE ARCHITECTURE & QUALITYSOFTWARE ARCHITECTURE & QUALITY

complement each other

ARCHITECTURE DESCRIPTION

Taxonomy of orthogonal propertiesMultiple views

Abstractionlevel

Dynamism Aggregationlevel

Physical Development

• commonalties• variabilities

• maintainability• modifiability• reusability• portability

• performance• reliability• security

• availability• capacity• bandwidth

managingadministrativecontrol

Decomposition offunctionality-conceptual-

Realization ofthe conceptual

abstraction

LogicalConcurrency

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

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

QADA viewpointsQADA viewpoints

Page 7: VTT TECHNICAL RESEARCH CENTRE OF FINLAND - VTT Virtual project

7

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

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

INITIATION AND EVOLUTION OF PRODUCT INITIATION AND EVOLUTION OF PRODUCT FAMILY ARCHITECTUREFAMILY ARCHITECTURE

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

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

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

Page 8: VTT TECHNICAL RESEARCH CENTRE OF FINLAND - VTT Virtual project

8

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

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

FAS FAS ––

FAMILY ARCHITECTURE FAMILY ARCHITECTURE SELECTIONSELECTION

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

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

CONTENTCONTENT

METHOD AND MATERIAL

STRATEGY EVALUATION FRAMEWORKPFA mapPFE strategy selection method

SUMMARY

Page 9: VTT TECHNICAL RESEARCH CENTRE OF FINLAND - VTT Virtual project

9

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

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

RESEARCH METHODRESEARCH 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

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

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

CASE STUDIESCASE 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

Page 10: VTT TECHNICAL RESEARCH CENTRE OF FINLAND - VTT Virtual project

10

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

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

PFA MAPPFA MAP

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

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

FINDINGS FINDINGS --PFE ORGANISATIONPFE 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)

Page 11: VTT TECHNICAL RESEARCH CENTRE OF FINLAND - VTT Virtual project

11

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

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

FINDINGS FINDINGS ––PFE ROLES & RESPONSIBILITIESPFE ROLES & RESPONSIBILITIES

Management of product development and deployment.Project/product manager

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

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

Architecture board (AB)

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

Support teams/persons

Quality of the domain architecture and its components.Domain/component owner

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

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).

PF architect

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

ResponsibilitiesRole

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

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

FINDINGS FINDINGS ––POTENTIAL OF PFEPOTENTIAL OF PFE

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

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

Packaged services as a means of management, communication and abstraction

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

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

Product platform as a means of management and communication

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

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

Internal platform as a means of communication and management

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

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.

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

Product variations are maintainable and a product family is extensible.

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 family architecture as a means of abstraction, communication and management

Potential Requires/provides/constraintsPFA approach

Page 12: VTT TECHNICAL RESEARCH CENTRE OF FINLAND - VTT Virtual project

12

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

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

PFE STRATEGY SELECTION METHODPFE STRATEGY SELECTION METHOD

Phases:1. Assumptions evaluation2. Target PFA decision3. PFE strategy selection

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

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

PHASE 1: PHASE 1: ASSUMPTIONS EVALUATIONASSUMPTIONS 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.

Page 13: VTT TECHNICAL RESEARCH CENTRE OF FINLAND - VTT Virtual project

13

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

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

PHASE1PHASE1-- EVALUATION CRITERIAEVALUATION CRITERIA

Customer satisfaction

Quality

VariabilityCustomisation

Profitability Cost structure(software/products)

Cutting edgeShortening delivery times

PredictabilityCustomer needs

CriterionIssue

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

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

PHASE 2PHASE 2-- STEP1:STEP1:TARGET PFA DECISIONTARGET 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

Page 14: VTT TECHNICAL RESEARCH CENTRE OF FINLAND - VTT Virtual project

14

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

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

PHASE 2 PHASE 2 -- STEP2:STEP2:IDENTIFY SUCCESS FACTORS AND THEIR IDENTIFY SUCCESS FACTORS AND THEIR

IMPORTANCE IMPORTANCE

PFAConfigurable features/components base

Cost effectivenessEvolutionmanagement

PFACost effectivenessEffective workorganisation

Platform product Packaged services

Cutting edgeNew opportunities

Internal platform, Configurablefeatures/components base

Cutting edgeKey competence

Configurable features/components baseConfigurable product family base

CustomersatisfactionTime-to-market

Managingcustomer needs

PFA alternativeCriteriaSuccess factor

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

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

PHASE 2 PHASE 2 -- STEP3STEP3::ESTIMATE ROIESTIMATE ROI

• Return on investment is estimated for the different ways of implementing PFA

• Criteria: investment and potential

• Economic models needed

• Example is an intuitive estimation based on the collected data.

In v e s tm e n t

P o ten tia l

C o n g iru g a b leP ro d u c t F a m ily

B a seP F A

C o n fig u rab leF e a tu re s /C o m p o n e n ts

B a se

In te rn a lP la tfo rm

P la tfo rmP ro d u c t

P ac k ag e dS e rv ice s

Page 15: VTT TECHNICAL RESEARCH CENTRE OF FINLAND - VTT Virtual project

15

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

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

PHASE3:PHASE3:PFE STRATEGY SELECTIONPFE STRATEGY SELECTION

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

internal platform + configurable features /components base

4. Balancing cost and customer satisfaction

familiarity with end-user needs

packaged services

3. Maximizingend-usersatisfaction

high technological competence, openness, market share, organization model

platform product

2. Extending market share

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

internal platform

1. Minimizing risks

CriteriaMeansStrategy

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

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

PHASE3:PHASE3:PFE STRATEGY SELECTIONPFE STRATEGY SELECTION

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

PFA +Configurablefeatures/components base + Platform product + Packaged services

8. Maximizing potential

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

PFA +Configurablefeatures/compoentsbase

7. Balancingcost, customer satisfaction And potential

complexity and variability, market share, new markets

PFA6. Balancingcost and potential

quality of products,short delivery times

Configurableproduct familybase

5. Maximizing customer satisfaction

CriteriaMeansStrategy

Page 16: VTT TECHNICAL RESEARCH CENTRE OF FINLAND - VTT Virtual project

16

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

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

SUMMARY OF FASSUMMARY 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.

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

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

QRFQRF--QQUALITY UALITY RREQUIREMENTS OF A EQUIREMENTS OF A

SOFTWARE SOFTWARE FFAMILYAMILY

Page 17: VTT TECHNICAL RESEARCH CENTRE OF FINLAND - VTT Virtual project

17

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

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

INTRODUCTIONINTRODUCTION

• 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

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

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

METHOD OVERVIEWMETHOD OVERVIEW

The QRF consists of five steps:

1. Impact analysis2. Quality analysis3. Variability analysis4. Hierarchical domain analysis5. Quality representations

Page 18: VTT TECHNICAL RESEARCH CENTRE OF FINLAND - VTT Virtual project

18

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

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

QRF & QADAQRF & QADA

5. Quality representations

1. Impact analysis

2. Quality analysis 3. Variability analysis

4. Hierarchical domain analysis

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

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

1. IMPACT ANALYSIS1. 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

Page 19: VTT TECHNICAL RESEARCH CENTRE OF FINLAND - VTT Virtual project

19

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

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

2. QUALITY ANALYSIS2. 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

example

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

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

3. VARIABILITY ANALYSIS3. 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

Page 20: VTT TECHNICAL RESEARCH CENTRE OF FINLAND - VTT Virtual project

20

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

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

4. HIERARCHICAL DOMAIN ANALYSIS4. 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

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

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

5. QUALITY REPRESENTATION5. 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

Page 21: VTT TECHNICAL RESEARCH CENTRE OF FINLAND - VTT Virtual project

21

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

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

QUALITY REPRESENTATIONS: QUALITY REPRESENTATIONS: styles and patternsstyles 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

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

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

QUALITY REPRESENTATIONS: QUALITY REPRESENTATIONS: quality profilesquality 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

• 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

Example

Page 22: VTT TECHNICAL RESEARCH CENTRE OF FINLAND - VTT Virtual project

22

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

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

APPLYING QRFAPPLYING 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

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

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

Case example: A Distributed Services Platform Case example: A Distributed Services Platform ((DiSePDiSeP))

• 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.

Page 23: VTT TECHNICAL RESEARCH CENTRE OF FINLAND - VTT Virtual project

23

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

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

Example Example –– 1. Impact analysis1. Impact analysis

Emergencyinterventionapplication

MiddlewareEnd user(doctor,police)

Systemfamily

architect

Emergencyapplicationdeveloper

System 3architect

Service availabilityis very high

Response timeis short

Fault occurrence isprevented

Middleware servicecapability to recover

Data replication

Data consistencyis verified

Messages arenot lost and integrity

is ensured

Very fastservice recovery

Service executionback-up

back

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

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

Example Example –– 2. Quality analysis2. Quality analysis-- QR identification & prioritizationQR identification & prioritization

highEnd user of application

The probability of failure is not over 0,01

R1-S3

mediumEnd user of application

Recovery time of the middleware services is 3 seconds

R2.2-S3

lowSystem family architect

Data consistency is verified in every 5 seconds

R5

highSystem family architect

Middleware services are able to recover

R2.1

Importance Stakeholder Requirement description Req ID

Page 24: VTT TECHNICAL RESEARCH CENTRE OF FINLAND - VTT Virtual project

24

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

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

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

Data distribution, Location serviceR6

Data distributionR7

Data distributionR5

All the involved basic, system and communication services

R2.1

Corresponding serviceR&A requirement

• Mapping family-specific R&A requirements to functionality

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

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

Example Example –– 2. Quality analysis2. Quality analysis-- Order of evaluationOrder of evaluation

Low level system-specific requirements

Medium level system-specific requirements

High level system-specific requirements

System family-specific requirements

Evaluation criteria

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

Level 3

-Level 4

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

Level 2

R2.1, R5, R6, R7Level 1

Corresponding requirement

Evaluation level

Page 25: VTT TECHNICAL RESEARCH CENTRE OF FINLAND - VTT Virtual project

25

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

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

Example Example –– 2. Quality analysis2. Quality analysis-- Selecting an architectural style and doing the Selecting an architectural style and doing the

tradetrade--off analysisoff analysis

• NFR framework for detecting conflicts

Layeredarchitecture

SimplexABAS

Implicitinvocation

Blackboard

Reliability Performance

Recovery+++

Data replication+++ Space

performance+

Timeperformance

+++

Backwardrecovery

++

Forwardrecovery

+++Local

+Remote unit

+++

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

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

ExampleExample –– 2. 2. QualityQuality analysisanalysis-- Defining criteria for R&A evaluationDefining criteria for R&A evaluation

Low level system-specific requirements

Medium level system-specific requirements

High level system-specific requirements

System family-specific requirements

Evaluation criteria

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

-Level 4

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

Level 2

R2.1, R5, R6, R7Level 1

Corresponding requirementEvaluation level

low

medium

medium

medium

Importance

R6

R7

R5

R2.1

Req.ID

Data distributionData loss prevented in error situations

Data storage, data distribution, location service

Data replication

Data distributionData consistency verification

All basic, system and communication services

Service capability to recover

Impacted architectural elementsEvaluation criteria

Criteria for evaluation of the DiSepsystem family

Back

Page 26: VTT TECHNICAL RESEARCH CENTRE OF FINLAND - VTT Virtual project

26

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

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

Example Example –– 3. Variability analysis3. Variability analysis

HighFull functionalityS3:A middleware for emergency intervention application

MediumRestricted functionality

S2: A middleware for health care application

LowLight functionalityS1: A middleware for game application

R&A importanceFunctionalitySystem

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

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

Example Example –– 3. Variability analysis3. Variability analysis--Describing variability in R&A qualitiesDescribing variability in R&A qualities

Gameapplication

Health careapplication

Emergencyinterventionapplication

Middleware

Middleware

Middleware

End user(gamepalyer)

End user(medicalworker)

End user(doctor,police)

Gameapplicationdeveloper

Systemfamily

architect

Health careapplicationdeveloper

Emergencyapplicationdeveloper

System 1architect

System 2architect

System 3architect

No breaks incommunication

Reliability is atlow level

Service recoveryin medium time

Data is alwayscorrect

Reliability is athigh level

Recovery timeis fast

Service availabilityis very high

Response timeis short

Fault occurrence isprevented

Service recoveryat medium rate

User notification offailures/shutdowns

Middleware servicecapability to recover

Message loss ismedium low

Data replication

Data consistencyis verified

Messages arenot lost

Service recoveryat medium rate

Data correctnessis ensured

Messages arenot lost and integrity

is ensured

Very fastservice recovery

Service executionback-up

Back

Page 27: VTT TECHNICAL RESEARCH CENTRE OF FINLAND - VTT Virtual project

27

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

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

EXAMPLE EXAMPLE –– 4. Hierarchical domain analysis4. Hierarchical domain analysis

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

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

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

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.

Responsibility

R2.1

R2.1

R2.1, R6

R2.1, R5, R6

Family-specific R&A requirement

R1-S3, R2.2-S3Advertiser

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

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

Location service

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

Data distribution

System-specific R&A requirements for S3

Service

back

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

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

EXAMPLE EXAMPLE –– 5. Quality representations5. Quality representations

R2.1

R2.1

R2.1, R6

R2.1, R5, R6

Family-specific requirement

R1-S3, R2.2-S3Advertiser

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

Observer

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

Location service

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

Data distribution

System-specific requirements

Service

back

Page 28: VTT TECHNICAL RESEARCH CENTRE OF FINLAND - VTT Virtual project

28

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

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

SUMMARY OF QRFSUMMARY 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)

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

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

FAMILY ARCHITECTURE EVALUATION (FAE)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

Page 29: VTT TECHNICAL RESEARCH CENTRE OF FINLAND - VTT Virtual project

29

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

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

FAMILY ARCHITECTURE EVALUATION FAMILY ARCHITECTURE EVALUATION -- FAEFAE

• Background

• FAE method• Steps• Comparison framework

• Application of the method • Structural interviews• Analysis of existing material• Industrial case studies

• Summary

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

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

BACKGROUNDBACKGROUND

• 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

Page 30: VTT TECHNICAL RESEARCH CENTRE OF FINLAND - VTT Virtual project

30

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

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

MATURITY LEVELS OF PRODUCT FAMILIESMATURITY LEVELS OF PRODUCT FAMILIES

VARIANT PRODUCTS

SOFTWARE PLATFORM

STANDARDIZED INFRASTRUCTURE

INDEPENDENT PRODUCT DEVELOPMENT

SELF-CONFIGURABLEPRODUCTS

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

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

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

FAMILY EVALUATION FRAMEWORK (FEF)FAMILY EVALUATION FRAMEWORK (FEF)-- ARCHITECTURE DIMENSIONARCHITECTURE DIMENSION

Aspects Level 1 Level 2 Level 3 Level 4 Level 5 Product family architecture

not established

specified external components

common features captured

fully specified enforced

Product quality

ignored or ad-hoc

through infrastructure, over-engineering

inherited from platform

a key priority implemented as variation points

Reuse level ad-hoc external components

internal platform components

managed automatic generation of family members

Variability management

absent limited variation points in infrastructure

managed in platform level

many variation points and dependencies between them

automatic selection and verification of variants in variation points is optimized

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

Page 31: VTT TECHNICAL RESEARCH CENTRE OF FINLAND - VTT Virtual project

31

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

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

OVERVIEW OF FAEOVERVIEW OF FAE

ANALYSIS DATA COLLECTEDBY STRUCTURAL INTERVIEWS OR FROM

OTHER SOURCESorganized based on the evaluation criteria

framework

REVIEW / INSPECTION OFARCHITECTURAL ARTIFACTS

ANALYZING RESULTS

EVALUATIONbased on FEF-A

- Interviews max 2 hours- Classified questions aboutbusiness, domain and technology- Different stakeholders- Other sources: experience reportsof PFE, measured data, analysisreports on successful products andprojects, business visions &strategies, marketing reports

- Up-to-date PFA documentation- 1-2 weeks for each review

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

- Mapping results to FEF-Alevels considering 4 aspects and3 characteristics

Method steps Prerequisites and Instructions

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

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

PFA COMPARISON FRAMEWORKPFA COMPARISON FRAMEWORK-- Business to PFABusiness to PFA

1. Number of members in a product family2. Different parts; %/features; number of functional sub-

systems/components, %/total software3. Reasons for differentiation4. Assembling is based on existing components,

(re)used/modified and new components5. Variable quality requirements6. Variability management7. Customized 3rd party components

Variability

1. Number of 3rd party components2. Number of subcontractors/component providers

Openness

1. Driving force: technology, application, both2. Main functional properties3. Quality requirements4. Change frequency in a domain5. Life-cycle or customer specific features6. Trend in customer needs

DomainBusiness toPFA

ItemAspectDimension

Page 32: VTT TECHNICAL RESEARCH CENTRE OF FINLAND - VTT Virtual project

32

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

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

PFA COMPARISON FRAMEWORK PFA COMPARISON FRAMEWORK -- PFAPFA

1.What are they?2.Architectural styles and patterns3.Design patterns4.Component model5.Appropriateness of the component model6.Separation of hardware-related variability

Core assets

1.Common properties2.Binding time

Variability

1.Common architecture for family members2.Platforms3.Shared components

Domainknowledge

1. Identified domains2.Reasons for their importance3.Visibility of domains in PFA

ContextPFA

ItemAspectDimension

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

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

PFA COMPARISON FRAMEWORK PFA COMPARISON FRAMEWORK -- PFA to PFA to processprocess and and organizationorganization

• 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

Page 33: VTT TECHNICAL RESEARCH CENTRE OF FINLAND - VTT Virtual project

33

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

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

I I –– INTERVIEWSINTERVIEWSIDENTIFY IMPROVEMENTSIDENTIFY 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

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

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

II II –– LITERATURE ANALYSISLITERATURE ANALYSISUNDERSTAND RATIONALE BEHIND PFEUNDERSTAND 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

Page 34: VTT TECHNICAL RESEARCH CENTRE OF FINLAND - VTT Virtual project

34

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

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

III III -- APPLYING FAE TO INDUSTRIAL CASESAPPLYING FAE TO INDUSTRIAL CASESHOW & WHENHOW & 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

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

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

SUMMARY OF FAESUMMARY 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

Page 35: VTT TECHNICAL RESEARCH CENTRE OF FINLAND - VTT Virtual project

35

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

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

CONCLUSIONSCONCLUSIONS

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

systemsFAE

• Easy and adaptable• May be extended and used for collecting

measurements for FASIn the future, the methods will be adapted and applied to Open Source and Inner Source software development

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

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

REFERENCES REFERENCES –– Product Family ArchitecturesProduct 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.

Page 36: VTT TECHNICAL RESEARCH CENTRE OF FINLAND - VTT Virtual project

36

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

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

REFERENCES REFERENCES –– Quality Driven Architecture DesignQuality 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: 0-931695-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; 561ISBN 951-38-6439-1; 951-38-6440-5http://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 EuromicroConference 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.

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

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

REFERENCES REFERENCES –– Quality EvaluationQuality 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 Euromicroconference, 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/

Page 37: VTT TECHNICAL RESEARCH CENTRE OF FINLAND - VTT Virtual project

37

VTT TECHNICAL RESEARCH CENTRE OF FINLAND

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

OTHER REFERENCESOTHER 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).