COTS-Aware Requirements Engineering: The CARE Process 2nd International Workshop on Requirements...

8
COTS-Aware Requirements Engineering: The CARE Process 2nd International Workshop on Requirements Engineering for COTS Components Lawrence Chung, The University of Texas at Dallas Kendra Cooper, The University of Texas at Dallas Sam Courtney, Rational software, IBM Software Group

Transcript of COTS-Aware Requirements Engineering: The CARE Process 2nd International Workshop on Requirements...

Page 1: COTS-Aware Requirements Engineering: The CARE Process 2nd International Workshop on Requirements Engineering for COTS Components Lawrence Chung, The University.

COTS-Aware Requirements Engineering: The CARE Process

2nd International Workshop on Requirements Engineering for COTS Components

Lawrence Chung, The University of Texas at DallasKendra Cooper, The University of Texas at Dallas

Sam Courtney, Rational software, IBM Software Group

Page 2: COTS-Aware Requirements Engineering: The CARE Process 2nd International Workshop on Requirements Engineering for COTS Components Lawrence Chung, The University.

Today...

A brief look at The goals of the CARE research project The CARE process The CARE knowledge base

process model, artifacts for system under development, COTS components...

The knowledge base for a Home Appliance Control System example

Conclusions and future work

Page 3: COTS-Aware Requirements Engineering: The CARE Process 2nd International Workshop on Requirements Engineering for COTS Components Lawrence Chung, The University.

Goals of CARE Research Project

Provide a set of models, techniques and a tool set for the effective use of COTS components, including: a scheme for representing stakeholders as intentional agents

(i.e., agents that make decisions), the high-level functional and non-functional requirements of such agents as goals, and the software architecture

a scheme for matching, and detecting and resolving discrepancies between the capabilities of COTS components and the needs of the stakeholders associated with the system under development

qualitative and quantitative decision making approaches for evaluating and selecting COTS components

formal product and process models that are consistent, complete, and correct

knowledge-based tool support, the CARE Assistant, to assist the developers

Page 4: COTS-Aware Requirements Engineering: The CARE Process 2nd International Workshop on Requirements Engineering for COTS Components Lawrence Chung, The University.

Overview of the CARE Process

whereSUD is the system under development

Define Goalscreate a System Goal Model usingscenarios, NFR Framework, etc.

Match Goalssearch for COTScomponents thatmatch SUD goals(functional first,non-functionalsecond)

Rank Componentsperform a gap analysis to

rank the COTS componentsusing the NFR Framework

Select Componentsselect set of COTScomponents

NegotiateChangesto COTS, SUD

Page 5: COTS-Aware Requirements Engineering: The CARE Process 2nd International Workshop on Requirements Engineering for COTS Components Lawrence Chung, The University.

The CARE Knowledge base

Mapping System Goals to Component Goals

COTS ComponentVirtual Repositoryi

Component1

Component2Componentn

COTS ComponentVirtual Repositoryk

Component1

Component2Componentn

COTS ComponentVirtual Repositoryj

Component1

Component2

Componentn

NFR

SUD Product ModelRepository

Software

HardGoal

HardGoal

HardGoal

SUD Process ModelRepository

Repository

Inference EngineTell(KB, S) KB', KB’ SAsk(KB, S) set of some/all substitut ions , KB S

Mapping Software Requirements to Component Specification

Mapping Architecture to Component Specificat ion

COTS Component, includes product goals,specificat ions, and development processdescription

Softgoal Hardgoal

NFR Non-funct ional Requirement Framework

CARE Meta-metamodel MOF standard

CARE Metamodel Agents, Goals, Objects, COTS

CARE Model Agents, Goals, objects, COTS

CARE Process model forspecific project (e.g. HACS)

COTS Component Partition System Under Development (SUD) Partitions

Agent

RequirementsEngineer

SoftwareArchitect

ComponentEngineer

ProcessEngineer

QualityAssuranceEngineer

ProjectManager

use cases +non-functionalrequirements

Architecture

Subsystem

Subsystem

SoftwareRequirements

Mapping Artifact to combination of two (or more)Component Specificat ions(conjunction, all components needed)MOF Meta-object facility standard HACS Home Appliance Control System

Legend

M0

M1

M2

M3AgentAgent

Softgoal

Softgoal

Softgoal

Page 6: COTS-Aware Requirements Engineering: The CARE Process 2nd International Workshop on Requirements Engineering for COTS Components Lawrence Chung, The University.

An instantiated view: Home Appliance Control System example

Legend

Softgoal (non-functional)

COTS Component

Security

Variety ofInterfaces

And Decomposition

Usability

Access Control

NFR Contribution

Data Integrity…

Java Authentication andAuthorization Service

Display IndoorLight Sequence

COTS Component Repository

Hardgoal (functional)

SUD Product Model Repository

Stylus

PDASecure

PDAProtect

+

C

C

A

RA

RA

keypad

Data Confidentiality

Non-repudiation

Entity

Origin

Easy toAccess

WirelessAccess

Private KeyEncryption Public Key

Encryption

WireAccessBluefire

MobileFirewallPlus

C

A R

TivoliC

A R +--

C

+

C Component R Requirements A Architecture

R Authentication

Page 7: COTS-Aware Requirements Engineering: The CARE Process 2nd International Workshop on Requirements Engineering for COTS Components Lawrence Chung, The University.

Conclusions

CARE approach: Supports systematic matching, ranking, and selecting COTS

components in the CARE Framework using the functional and non-functional requirements and the architecture of the components

employs the NFR Framework to qualitatively evaluate the COTS components

a component engineer, affiliated with the acquirer's organization, uses empirical studies to obtain (additional) component data

COTS components are represented as an aggregate of functional and non-functional requirements and architecture - each with its own set of attributes

Page 8: COTS-Aware Requirements Engineering: The CARE Process 2nd International Workshop on Requirements Engineering for COTS Components Lawrence Chung, The University.

Future work

Future work includes: investigating additional search techniques

case based, rule based, neural nets, etc. defining a metamodel for CARE

goals, agents, COTS components developing web-based tool support

Project website is under construction at http://www.utdallas.edu/~weiminma/public