19
Architecting Adaptable Software Using COTS: An NFR Approach Lawrence Chung Kendra Cooper Anna Yi Department of Computer Science University of Texas at Dallas {chung, kcooper, annayi}@utdallas.edu

Architecting Adaptable Software Using COTS: An NFR Approach Lawrence Chung Kendra Cooper Anna Yi Department of Computer Science University of Texas at

Embed Size (px)

Citation preview

Page 1: Architecting Adaptable Software Using COTS: An NFR Approach Lawrence Chung Kendra Cooper Anna Yi Department of Computer Science University of Texas at

Architecting Adaptable Software Using COTS: An

NFR Approach

Lawrence Chung Kendra Cooper

Anna Yi

Department of Computer ScienceUniversity of Texas at Dallas

{chung, kcooper, annayi}@utdallas.edu

Page 2: Architecting Adaptable Software Using COTS: An NFR Approach Lawrence Chung Kendra Cooper Anna Yi Department of Computer Science University of Texas at

Why COTS (Commercial-Off-The-Shelf)?Why more?

(Perceived) benefits with use of COTS components – improvements by orders of magnitude - quick-build, well-tested, etc.

Want: utilize COTS for the same benefits in architecting adaptable software.

Issues Many (more types of) stakeholders and sources of changes• Customer needs (enhancements, new env., technology changes – hw/sw/infrastructure, new/similar products, etc.)

• Evolution of COTS components & Discontinued components

• Legal issues ((chain of) licensing, open-source,…) & Standards

Added complexity • high degree of usage vs. high degree of satisficing• Here, COTS components must meet both functional requirements and non-functional

requirements, … and at the same time fit with the architecture

Adaptability hardly addressed, or ad hoc at best

Page 3: Architecting Adaptable Software Using COTS: An NFR Approach Lawrence Chung Kendra Cooper Anna Yi Department of Computer Science University of Texas at

Our Approach: ACASA(Adaptable COTS-Aware Software Architecting) Evolution of ACASA

CARE CASA ACASA

COTS-Aware Requirements Engineering (CARE) Consider COTS as a requirements activity Agent-oriented, Goal-oriented, knowledge-based, defined process Uses NFR Framework to Match, Select, and Analyze COTS

Components based on goals and requirements COTS-Aware Software Architecting (CASA)

Extension of CARE Considers COTS as a requirements and software architecting activity Agent-oriented, goal-oriented, knowledge-based, defined process Applies the concepts of the NFR Framework to define the software

architecture Now, Adaptable COTS-Aware Software Architecting (ACASA)

specialization of CASA that focuses on adaptability requirements

Page 4: Architecting Adaptable Software Using COTS: An NFR Approach Lawrence Chung Kendra Cooper Anna Yi Department of Computer Science University of Texas at

CASA: Mapping Native Goals, Requirements & Architecture

Components to Foreign Goals, Specifications & Architecture Components

Mapping System Goals to Component Goals Mapping System, Software Requirements to Component Specification

Legend

Agent

Softgoal

Hardgoal

Requirement Architecture Subsystem

Component Repository(Foreign Goals, Specifications, …)

System Under Development(Native Goals, Requirements, …)

Component Repository

SUDArtifacts

Softgoal3

Softgoal2

SystemRequirement

SystemRequirement

HardGoal1

SoftwareRequirement

SoftwareRequirement

End UserRequirements

Engineer

ExternalSystem

CustomerManager

Development Manager

……

++ (NFR)

Component 1(blackbox)

ArchitecturalSubsystem

ArchitecturalSubsystem

Component 2(whitebox)

Page 5: Architecting Adaptable Software Using COTS: An NFR Approach Lawrence Chung Kendra Cooper Anna Yi Department of Computer Science University of Texas at

ACASA: An NFR Approach

Represent COTS reqs & SUD (System Under Development) reqs: functional reqs (OO) + NFRS (softgoals), with agents

Represent architectural constituents: <components, connections, constraints, patterns, styles>

Select COTS architectural components according to: COTS functional reqs (COTS components) satisficing SUD functional reqs Use adaptability as a main selection criteria among the candidate COTS

architectural components

Maintain rationale behind matching and selection

Offer both run-time and design-time adaptability

Page 6: Architecting Adaptable Software Using COTS: An NFR Approach Lawrence Chung Kendra Cooper Anna Yi Department of Computer Science University of Texas at

NFR Framework

non-functional requirements (NFRs), are treated as goals (softgoals) to be achieved

allows for: refinements of (often unclear and subjective)

adaptability requirements exploration of alternatives to achieve the softgoals systematic analysis of tradeoffs among the

alternatives evaluation of the degree to which such softgoals are

achieved.

Page 7: Architecting Adaptable Software Using COTS: An NFR Approach Lawrence Chung Kendra Cooper Anna Yi Department of Computer Science University of Texas at

NFR Framework

representation: softgoal interdependency graph

Adaptability

Run-time

(dynamic)

Adaptability

Design-time

(static)

Adaptability

Run-time

Self-

Adaptability

Run-time

External

Adaptability

Design-time

Self-

Adaptability

Design-time

External

Adaptability

Page 8: Architecting Adaptable Software Using COTS: An NFR Approach Lawrence Chung Kendra Cooper Anna Yi Department of Computer Science University of Texas at

ACASA: Architecting Process

For each COTS Component: Is COTS Component Blackbox?

NoYes

All SUD FunctionalRequirementsProcessed?

Yes

No

Match SUD Capabilities toCOTS Component Capabilities

Match SUD Adaptability RequirementstoCOTS Component

Adaptability Requirements

Match SUD Adaptability RequirementstoCOTS Components Architecture Subsystem

Adaptability Requirements

Rank COTS ComponentSolutions

Select COTS ComponentSolutions

Order Groups of SUD Capabilities Step 1

Step 2

Step 3Case 1

Step 3Case 2

Identify COTS ComponentSolutions

Step 4

Step 5

Step 6

ACASA Process Utilizes NFR Framework

Page 9: Architecting Adaptable Software Using COTS: An NFR Approach Lawrence Chung Kendra Cooper Anna Yi Department of Computer Science University of Texas at

Illustration: Architecting Adaptable Telepresence System

Would you like to experience your presence in an environment at a different location?

Pan, Tilt, Zoom

Camera

Al, Sue, and John in

Dallas can see, hear,

and speak to Erin.

Head mounted display with

head tracking and earphones

Display

Microphone

Control signals (control the movement of the camera))

Digital camera

Force feedback joystick

Microphone

Video from Erin

Erin in NewYork can see, hear, speak, or move closer/farther away from Al, Sue, John Speaker

Audio, Video from Al, John and Sue

Audio,Video control signals

Video control signals

Audio from Erin

Audio control signals

Page 10: Architecting Adaptable Software Using COTS: An NFR Approach Lawrence Chung Kendra Cooper Anna Yi Department of Computer Science University of Texas at

COTS ComponentsCOTS Component #1: The camera shall cap1.1 be a black and white pan/tilt/zoom camera with 22X zoom and 460 TVL of resolution.; cap1.2 provide 300° pan / 120° tilt with 90°/sec. speed. Adaptability-NFR1.3COTS The output ports shall support: S video RS-232C (used to daisy chain up to seven cameras). cap1.4 Manual focus and exposure shall be supported. ; cap1.5 Automatic focus and exposure shall be supported.cap1.6 The infra-red remote control shall operate from the front and back of camera.COTS Component #2: The camera shall cap2.1 be a color pan/tilt/zoom camera with 10x Optical Zoom, 40x with Digital Zoom, 470 TV lines resolutioncap2.2 provide Pan/Tilt Horizontal ± 100 deg (Max speed 300 degrees/s), Vertical ± 25 deg (Max speed 125 degrees/s) (in 0.07 deg incr)cap2.3 The output ports shall support VBS, Y/C, video signal NTSC, and RS-232-C.; cap2.4 The infra-red remote control shall operate from the

front of the camera.cap2.5 The zoom, focus, pan, tilt, exposure shall be controlled using the included infrared remote control or by computer through an RS-232C serial

connection.cap2.6 provide manual focus and exposure capabilitiesNote. Daisy chaining cameras not supported.COTS Component #3: The camera shall

cap3.1 be a color pan, tilt, zoom camera with 16X zoom and 460 TVL of resolution.cap3.2 The field of view supported shall range from 3 to 47.5 degrees (65 degrees with wide angle lens adapter). Adaptability-NFR3.3COTS The 5 output ports shall support: S video, NTSC video, and 2 RS232 ports (to control the camera from a PC or daisy

chain up to 8 cameras). cap3.4 Manual focus and exposure shall be supported.; cap3.5 Automatic focus and exposure shall be supported.COTS Component #5 : The head mounted display shall cap5.1 input NTSC or SVGA signals; cap5.2 automatically select between NTSC and VGA depending on which is connected. cap5.3 support SVGA resolution (800 x 600). cap5.4 support color, 3D video..; cap5.5 provide stereo audio. COTS Component #6 The head mounted display shall cap6.1 input S-video signals.; COTS-Adaptability-NFR6.2 support SVGA and SXVGA resolution.cap6.3 support 24 bit color depth, 3D video.; cap6.4 provide RCA stereo audio.cap6.5 support a field of view: 26 Degrees diagonal, image size: 76" at 13'.; cap6.6 support a head tracking capability. COTS Component #7cap7.1 The orientation tracking component shall track movement in three dimensions.COTS Component #8cap8.1 JAAS supports user-based authorization.cap8.2 It implements a Java version of the standard Pluggable Authentication Module (PAM) frameworkcap8.3 JAAS can be used to determine who is executing Java code, regardless of whether the code is running as an application, an applet, a bean,

or a servlet.

Page 11: Architecting Adaptable Software Using COTS: An NFR Approach Lawrence Chung Kendra Cooper Anna Yi Department of Computer Science University of Texas at

Step 1. Order Groups of SUD Capabilities

SUD Camera RequirementsSUD-cap3.1 The remote system shall use pan/tilt/zoom cameras to supply video image and

microphones to supply audio.SUD-cap3.2 The cameras shall provide manual and automatic focus capabilities. SUD-cap3.3 The remote system shall send synchronized audio and video to the Head Mounted Display

(with headphones) at the local site.SUD-Adaptability-NFR3.4 The configuration of the remote site shall be adaptable during the operation

of the system and support configurations of two to six cameras and two to eight microphones . SUD-cap3.5 The video output of the cameras at the remote site shall be S-video (i.e., Y/C). SUD-Adaptability-NFR3.6 If a camera at the remote site fails, then the system can detect this and adapt

the system by switching to the remaining two cameras to obtain the video feed while the system is running.

SUD-cap3.7 The cameras shall be color cameras.

SUD Head Mounted Display RequirementsSUD-cap2.1 The system shall be able to display the image of the remote meeting site to a local user

with a head mounted display. SUD-cap2.2 The head mounted display video image shall be in color and be 3-dimensional. SUD-cap2.3 The head mounted display video shall be displayed in such a way that the viewpoint

displayed changes in accordance with the local user’s head movements (orientation).SUD-Adaptability-NFR2.4 The resolution of the head mounted display system shall be dynamically

adaptable by the system to provide VGA or SXVGA. SUD-cap2.5 The default resolution of the head mounted display shall be of SXGA (1280 x 1024).

SUD Authentication RequirementsSUD-cap6.1 The system shall support identification and password authentication.SUD-cap6.2 The system shall support fingerprint scanning authentication. SUD-Adapatability-NFR6.3 The system shall be configurable to support identification and password or

fingerprint scanning authentication when the system is installed.

Page 12: Architecting Adaptable Software Using COTS: An NFR Approach Lawrence Chung Kendra Cooper Anna Yi Department of Computer Science University of Texas at

Step 2. Match SUD Capabilities to COTS Component Capabilities (Camera)

Standard Compliance Adaptability… Camera…

SUD-9 whiteboard

COTSComponent #2

Camera(no manual focus,exposure feature) COTS

Component #3Camera

(provides all camera'sfunctional requirements)

COTSComponent #1

Camera(Black and White)

+

+

++

SUD-3.2camera hasmanual andautomatic focus

Legend

Functional Requirement

Non-Functional Requirement

Authentication

SUD Adaptability 3.4(camera , microphonere-configuration) SUD Adaptability 3.6

(camera failure detection,re-configuration)

design-timeadaptation

run-timeadaptation

selfadaptation

externaladaptation

externaladaptation

self adaptation

SUD-3.7camera is color

COTS Component

--

++

++

COTS 1.4COTS 1.5

(focus) COTS 1.1(color)

COTS 2.6(focus)

COTS 2.1(color)

COTS 3.1(color)

COTS 3.4COTS 3.5

(focus)

Searching, Matching, and Analyzing NFR Contributions forCOTS Components that Provide the Camera Capabilities Needed

Security

Access

Accounting

Page 13: Architecting Adaptable Software Using COTS: An NFR Approach Lawrence Chung Kendra Cooper Anna Yi Department of Computer Science University of Texas at

Step 3. Match COTS Component (Camera) for Adaptability Requirements

Standard Compliance Adaptability… Camera…

SUD-9 whiteboard

COTSComponent #2

Camera(no manual focus,exposure feature)

COTSComponent #3

Camera(provides all camera's

functional requirements)

COTSComponent #1

Camera(Black and White)

+

+

++

SUD-3.2camera hasmanual andautomatic focus

Legend

Functional Requirement

Non-Functional Requirement

Authentication

design-timeadaptation

run-timeadaptation

selfadaptation

externaladaptation

externaladaptation

self adaptation

SUD-3.7camera is color

COTS Component

--

++

++

COTS 1.4COTS 1.5

(focus) COTS 1.1(color)

COTS 2.6(focus)

COTS 2.1(color)

COTS 3.1(color)

COTS 3.4COTS 3.5

(focus)

Searching, Matching, and Analyzing NFR Contributions of the CameraCOTS Components for the Adaptability Needed

Security

Access

Accounting

+

+

SUD Adaptability 3.4(camera , microphone re-config.)

SUDAdaptability 3.6(camera failuredetection, re-config.)

Page 14: Architecting Adaptable Software Using COTS: An NFR Approach Lawrence Chung Kendra Cooper Anna Yi Department of Computer Science University of Texas at

Step 4. Identify COTS Component SolutionsStep 5. Rank the COTS components Step 6. Compose the Architectures (Camera)

Step 4: Two components are selected {COTS Component #2, COTS Component #3}

Step 5: MAKE run-time adaptation alternatives:

HELP run-time adaptation alternatives: {COTS Component #3}MAKE development-time adaptation alternatives: {COTS Component #2}HELP development-time adaptation alt.}: {COTS Component #2, COTS Component #3}

Step 6:{case SUD-R3@now of

SUD-FR3.2, SUD-FR3.7, SUD-Adaptability-NFR3.4, SUD-Adaptability-NFR3.6: COTS-3 …

}

Page 15: Architecting Adaptable Software Using COTS: An NFR Approach Lawrence Chung Kendra Cooper Anna Yi Department of Computer Science University of Texas at

Step 2. Match SUD Capabilities to COTS Component Capabilities (Head Mounted Display)

Adaptability… …

SUD-2.2HMDcolor

+

+

++

SUD-3.2

Legend

Functional Requirement

Non-Functional Requirement

SUDAdaptability

3.4

SUD Adaptability 2.4(HMD resolution)

design-timeadaptation

run-timeadaptation

selfadaptation

externaladaptation

externaladaptation

selfadaptation

SUD-3.7

COTS Component

--

++

++

SUDAdaptability

3.6

HMD(color)

HMD(color, t racking,VGA, SXVGA)

SUD-2.3HMD

orientation

++COTS 5.4

(color)

++COTS 6.6(tracking)

++COTS 6.3

(color)COTS

Component #1

COTSComponent

#2

COTSComponent

#3

COTSComponent

#6

COTSComponent

#5

++

Searching, Matching, and Analyzing NFR Contributions for theCOTS Components that Provide Head Mounted Display Capabilities Needed

COTSComponent

#7

++COTS 7.1(tracking)

OrientationTracker

Camera Head Mounted Display

Page 16: Architecting Adaptable Software Using COTS: An NFR Approach Lawrence Chung Kendra Cooper Anna Yi Department of Computer Science University of Texas at

Step 3. Match COTS Components (Head Mounted Display) that Provide Adaptability

Adaptability… …

SUD-2.2HMDcolor

+

+

++

SUD-3.2

Legend

Functional Requirement

Non-Functional Requirement

SUDAdaptability

3.4

SUD Adaptability 2.4(HMD resolution)

design-timeadaptation

run-timeadaptation

selfadaptation

externaladaptation

externaladaptation

selfadaptation

SUD-3.7

COTS Component

--

++

++

SUDAdaptability

3.6

HMD(color)

HMD(color, t racking,VGA, SXVGA )

SUD-2.3HMD

orientation

++COTS 5.4

(color)

++COTS 6.6(tracking)

++COTS 6.3

(color)

COTSComponent

#1

COTSComponent

#2

COTSComponent

#3

COTSComponent

#6

COTSComponent

#5

++

Searching, Matching, Analyzing NFR Contributions for Head MountedDisplay COTS Components that Also Provide Adaptability Needed

COTSComponent

#7

++COTS 7.1(tracking)

OrientationTracker

Camera Head Mounted Display

+

Page 17: Architecting Adaptable Software Using COTS: An NFR Approach Lawrence Chung Kendra Cooper Anna Yi Department of Computer Science University of Texas at

Step 4. Identify COTS Component SolutionsStep 5. Rank the COTS components Step 6. Compose the Architectures

(Head Mounted Device)

Step 4: {COTS Component #6, COTS Component #5, COTS Component #7}

Step 5: MAKE run-time adaptation alternatives: HELP run-time adaptation alternatives: {COTS Component #6}MAKE development-time adaptation alternatives: {COTS Component #5, COTS Component #7}}HELP development-time adaptation alt.}: {COTS Component #5, COTS Component #6, COTS Component #7}

Step 6:{case SUD-R3@now of

SUD-FR2.2, SUD-FR2.3, SUD-Adaptability-NFR2.4: COTS-6 …

}

Page 18: Architecting Adaptable Software Using COTS: An NFR Approach Lawrence Chung Kendra Cooper Anna Yi Department of Computer Science University of Texas at

Step 2. Match SUD Capabilities to COTS Component Capabilities

Step 3. Match COTS Components that Provide Adaptability (Authentication)

Adaptability…

SUD-2.2

+

+

++

SUD-3.2

Legend

Functional Requirement

Non-Functional Requirement

SUDAdaptability3.4

SUDAdaptability2.4

design-timeadaptation

run-timeadaptation

selfadaptation

externaladaptation

externaladaptation

selfadaptation

SUD-3.7

COTS Component

--

++

++

SUDAdaptability

NFR3.6

SUD-2.3

++ ++++

COTSComponent

#1

COTSComponent

#2

COTSComponent

#3

COTSComponent

#6

COTSComponent

#5

++

Searching, Matching, and Analyzing NFR Contributions for COTSComponents that Provide Authentication and Adaptability Needed

COTSComponent

#7

++

+

Security

SUDAuthentication

6.1

SUDAuthentication

6.2

SUDAdaptability 6.3(id/passwordfingerprintscanningconfiguration)

COTSComponent

#8

JAAS

AccessControl

Accounting

Authentication

++

+

++

Camera Head Mounted Display

JAAS is the Java Authentication and Authorization Service package

Page 19: Architecting Adaptable Software Using COTS: An NFR Approach Lawrence Chung Kendra Cooper Anna Yi Department of Computer Science University of Texas at

Conclusions

Contributions Systematic methodology for using COTS components in

developing adaptable software architecture – an NFR-driven, repository-based approach.

Future Work More matching techniques and selection heuristics Definition of meta-model (in relation to the UML) Tool support (from CASA Assistant to ACASA Assistant)