semi-automatic generation of adaptable architectures

48
Semi-Automatic Generation of Semi-Automatic Generation of Adaptable Architectures Adaptable Architectures Nary Subramanian, Lawrence Chung Nary Subramanian, Lawrence Chung Department of Computer Science Department of Computer Science The University of Texas at Dallas The University of Texas at Dallas June, 2003 June, 2003

Upload: huey

Post on 12-Jan-2016

40 views

Category:

Documents


0 download

DESCRIPTION

Semi-Automatic Generation of Adaptable Architectures. Nary Subramanian, Lawrence Chung Department of Computer Science The University of Texas at Dallas June, 2003. Road Map. Adaptability Software Architecture Adaptable Software Architecture Framework (ASAF) - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Semi-Automatic Generation of  Adaptable Architectures

Semi-Automatic Generation of Semi-Automatic Generation of Adaptable ArchitecturesAdaptable Architectures

Nary Subramanian, Lawrence ChungNary Subramanian, Lawrence ChungDepartment of Computer ScienceDepartment of Computer ScienceThe University of Texas at DallasThe University of Texas at Dallas

June, 2003June, 2003

Page 2: Semi-Automatic Generation of  Adaptable Architectures

Semi-Automatic Generation of AdaptSemi-Automatic Generation of Adaptable Architecturesable Architectures

22

Road MapRoad Map AdaptabilityAdaptability Software ArchitectureSoftware Architecture Adaptable Software Architecture Framework Adaptable Software Architecture Framework

(ASAF) (ASAF) Adaptable Software Architecture Assistant Adaptable Software Architecture Assistant

(ASAA) (ASAA) Validation of ASAF Validation of ASAF Future WorkFuture Work

Page 3: Semi-Automatic Generation of  Adaptable Architectures

Semi-Automatic Generation of AdSemi-Automatic Generation of Adaptable Architecturesaptable Architectures

33

AdaptabilityAdaptability Adaptability is the ability of software Adaptability is the ability of software

systems to accommodate changes in systems to accommodate changes in their environment.their environment.

Software SystemEnvironment

Environment: OS, hardware platform, heat, noise, speed, number of interrupts, vibration, power, attenuation, new commands, etc.

Page 4: Semi-Automatic Generation of  Adaptable Architectures

Semi-Automatic Generation of AdSemi-Automatic Generation of Adaptable Architecturesaptable Architectures

44

AdaptabilityAdaptabilityAdvantages of Adaptable Software

Adapts to environment changes

Easier to develop systems satisfying new requirements

Facilitates addition of new software features

Saves maintenance costs

Page 5: Semi-Automatic Generation of  Adaptable Architectures

Semi-Automatic Generation of AdSemi-Automatic Generation of Adaptable Architecturesaptable Architectures

55

AdaptabilityAdaptability

Examples of Adaptable Systems Dual-mode cell phone Dynamic uploading of firmware Command-processing system accepting

commands of different versions A software system operating on different OS Performing system maintenance functions when

the system is least busy A dynamically changeable format - from 2 digit

year to 4 digit year; change units of measurement

Mars Pathfinder project eLiza project at IBM

Page 6: Semi-Automatic Generation of  Adaptable Architectures

Semi-Automatic Generation of AdaptSemi-Automatic Generation of Adaptable Architecturesable Architectures

66

Road MapRoad Map AdaptabilityAdaptability Software ArchitectureSoftware Architecture Adaptable Software Architecture Framework Adaptable Software Architecture Framework

(ASAF)(ASAF) Adaptable Software Architecture Assistant Adaptable Software Architecture Assistant

(ASAA) (ASAA) Validation of ASAF Validation of ASAF Future WorkFuture Work

Page 7: Semi-Automatic Generation of  Adaptable Architectures

Semi-Automatic Generation of AdSemi-Automatic Generation of Adaptable Architecturesaptable Architectures

77

Software ArchitectureSoftware Architecture The underlying structure of thingsThe underlying structure of things

Description of system structures – data Description of system structures – data flow, modules, process,…flow, modules, process,…

Project blue printProject blue print

Description of relationships among Description of relationships among components and connectionscomponents and connections

Page 8: Semi-Automatic Generation of  Adaptable Architectures

Semi-Automatic Generation of AdSemi-Automatic Generation of Adaptable Architecturesaptable Architectures

88

Software Architecture Software Architecture ObjectiveObjective

High level abstraction of software High level abstraction of software systemsystem

Guide detailed designGuide detailed design Desire to achieve particular software Desire to achieve particular software

qualities or NFRsqualities or NFRs Adaptability is designed-in at the Adaptability is designed-in at the

architectural level itselfarchitectural level itself

Page 9: Semi-Automatic Generation of  Adaptable Architectures

Semi-Automatic Generation of AdSemi-Automatic Generation of Adaptable Architecturesaptable Architectures

99

Architectural ConstituentsArchitectural Constituents Components Components ConnectionsConnections PatternsPatterns ConstraintsConstraints StylesStyles RationaleRationale

Software ArchitectureSoftware Architecture

Page 10: Semi-Automatic Generation of  Adaptable Architectures

Semi-Automatic Generation of AdSemi-Automatic Generation of Adaptable Architecturesaptable Architectures

1010

Architecture RepresentationArchitecture Representation- Box-and-Line diagramsBox-and-Line diagrams- Modeling LanguagesModeling Languages- ADLADL- Architecture Specification LanguageArchitecture Specification Language

- DisCo (DIStributed COoperation)- DisCo (DIStributed COoperation)

Software ArchitectureSoftware Architecture

Page 11: Semi-Automatic Generation of  Adaptable Architectures

Semi-Automatic Generation of Adaptable Architectures

11

Software Architecture

• DisCo Specification lay er I n ter r u p tHan d ler is

c las s Han d ler is s ta tu s : ( f r ee , p r o c es s in g ) ; en d ;

c las s I n ter r u p t ism y Han d ler : Han d ler ;

en d ;

ac tio n P r o c es s I n ter r u p t ( h :Han d ler ; i:I n te r r u p t) is w h en h . s ta tu s ' f r ee an d i.m y Han d ler = n u ll d o

h . s ta tu s := p r o c es s in g ( ) ;i.m y Han d ler := h ;

en d ;

ac tio n C o m p le teI n ter r u p t ( h :Han d ler ; i:in te r r u p t) is w h en h . s ta tu s 'p r o c es s in g an d i.m y Han d ler = h d o

h . s ta tu s := f r ee( ) ;i.m y Han d ler := n u ll;

en d ;

en d ;

P r o c es sI n ter r u p t

I n ter r u p t

I n ter r u p t Han d ler

Page 12: Semi-Automatic Generation of  Adaptable Architectures

Semi-Automatic Generation of AdSemi-Automatic Generation of Adaptable Architecturesaptable Architectures

1212

Reusing ArchitectureReusing Architecture At the constituent levelAt the constituent level At the architecture level At the architecture level

Architecture RepositoryArchitecture Repository Stores architectural constituentsStores architectural constituents Can be stored as DisCo specifications or Can be stored as DisCo specifications or

codecode Available for reuseAvailable for reuse

Software ArchitectureSoftware Architecture

Page 13: Semi-Automatic Generation of  Adaptable Architectures

Semi-Automatic Generation of AdaptSemi-Automatic Generation of Adaptable Architecturesable Architectures

1313

Road MapRoad Map AdaptabilityAdaptability Software ArchitectureSoftware Architecture Adaptable Software Architecture Framework Adaptable Software Architecture Framework

(ASAF)(ASAF) Adaptable Software Architecture Assistant Adaptable Software Architecture Assistant

(ASAA) (ASAA) Validation of ASAF Validation of ASAF Future WorkFuture Work

Page 14: Semi-Automatic Generation of  Adaptable Architectures

Semi-Automatic Generation of AdSemi-Automatic Generation of Adaptable Architecturesaptable Architectures

1414

Current Adaptable System Current Adaptable System Development MethodDevelopment Method

S ta te P ro b le m"p ro b le m is to d e v e lo p a d a p ta b le

s y s te m tha t d o e s xxx. . ."

D e fine A da pta bility"adaptability is evo lu tio n to m eet the

needs o f u sers"

D e v e lo p S o lu tio n"s o lu tio n y y y is a d a p ta b le a nd d o e s

xxx. . ."

Page 15: Semi-Automatic Generation of  Adaptable Architectures

Semi-Automatic Generation of AdSemi-Automatic Generation of Adaptable Architecturesaptable Architectures

1515

Problems with Current Problems with Current MethodMethod

No explicit traceability of No explicit traceability of solutions to requirementssolutions to requirements

No systematic way to No systematic way to analyze/explore alternative analyze/explore alternative solutionssolutions

No systematic way to determine No systematic way to determine the degree of adaptabilitythe degree of adaptability

Page 16: Semi-Automatic Generation of  Adaptable Architectures

Semi-Automatic Generation of AdSemi-Automatic Generation of Adaptable Architecturesaptable Architectures

1616

Adaptable Software Adaptable Software Architecture Framework (ASAF)Architecture Framework (ASAF)

The specialization of the NFR Framework for software The specialization of the NFR Framework for software architectures and for the NFR adaptability architectures and for the NFR adaptability

Provides a methodology for generating adaptable Provides a methodology for generating adaptable software architecturessoftware architectures

Creates an architecture repository for architecture Creates an architecture repository for architecture reusereuse

Introduces a process-oriented metrics for evaluating Introduces a process-oriented metrics for evaluating architecture adaptabilityarchitecture adaptability

Automates adaptable architecture generation processAutomates adaptable architecture generation process

Page 17: Semi-Automatic Generation of  Adaptable Architectures

Semi-Automatic Generation of AdSemi-Automatic Generation of Adaptable Architecturesaptable Architectures

1717

ASAFASAF Process Instituted by ASAFProcess Instituted by ASAF

D ec o m p o s e ad ap tab ility f o r th e d o m ain

C r ea te S I G f o r eac h c o n s titu en t

P o p u la te S I G e lem en ts in KB

F o r n ew p r o jec t s ea r c h KB

Us in g KB o u tp u ts g en er a te a r c h itec tu r es

E v alu a te c o m p etin g a r c h itec tu r es an d s e lec t b e t te ro n e

I m p lem en t a r c h itec tu r e

R e ite ra t io n toch a n g e th e S I G fo r

be t t e r re pre s e n ta t io no f th e do m a inre qu ire m e n ts

R e it e ra t io n toch a n g e s e le ct io n

crit e ria fo rco n s t itu e n t s

A n y de f in it io n o fa da pta bility a s

a pplica ble to th edo m a in ca n be u s e d

in th is de co m po s it io n

Es ta blis h e s t ra ce a bilitybe twe e n co n s t itu e n t s

a n d th e ir a da pta bility ;i . e . , g iv e s a n s we r to

" wh y is th e co n s t itu e n ta da pta ble " ?

Page 18: Semi-Automatic Generation of  Adaptable Architectures

Semi-Automatic Generation of Adaptable Architectures

18

ASAF • Softgoal Interdependency Graph (SIG)

Ad ap tab ility [ S y s tem ]

E n v C h an g eR ec o g n itio n[ S y s tem ]

S y s C h an g eR ec o g n itio n[ S y s tem ]

S y s C h an g e[ S y s tem ]

C o n t r o lle r

+ + - -

C la im 1C la im 2

!

N F R S o f tg o al

D es ig n ( o r O p er a tio n a liz in g )S o f tg o al

C la im S o f tg o al

+ +

+

-

- -

S tr o n g ly P o s it iv e ly S atis f ic in g o rM AKE C o n tr ib u tio nP o s it iv e ly S atis f ic in g o rHE L P C o n tr ib u tio n

N eg ativ e ly S atis f ic in g o rHUR T C o n tr ib u tio nS tr o n g ly N eg ativ e ly S atis f ic in g o rBR E AK C o n tr ib u tio n

AN D C o n tr ib u tio n

O R C o n tr ib u tio n

C r it ic a lity

C o r r e la tio n

o r

o r

o r

o r

Example SIG Legend

Page 19: Semi-Automatic Generation of  Adaptable Architectures

Semi-Automatic Generation of AdSemi-Automatic Generation of Adaptable Architecturesaptable Architectures

1919

ASAFASAF Process of SIG CreationProcess of SIG Creation

Decompose Adaptabilityfor the domain - NFR softgoal hierarchy

Develop architectural alternatives - Design softgoal hierarchy

Determine extent to whichdesign softgoals satisfice NFR softgoals - claim softgoal hierarchy

Assign criticalities to various softgoals

Choose the design components that satisfice the relevant softgoals - assign labels and use the evaluation procedure

Legend: Down arrow = go to next step; Up arrow = iterate

Page 20: Semi-Automatic Generation of  Adaptable Architectures

Semi-Automatic Generation of Adaptable Architectures

20

ASAF • SIG Elements

C o ntro l le r

Adaptabil i ty[Sys te m ]

+ + --

E nvC hange R e c o gnit io n[Sys te m ]

Sys C hange R e c o gnit io n[Sys te m ]

Sys C hange[Sys te m ]

N FR D e c o m po s it io n M e tho d

O pe rat io nal izat io nM e tho d

C o rre lat io nR ule

Page 21: Semi-Automatic Generation of  Adaptable Architectures

Semi-Automatic Generation of Adaptable Architectures

21

ASAF• Representing SIG Elements (Frame-like Notation)

NFR D e co m po s it io n M e th o dS y s te m A da pta bility V ia S u bTy pe

Pa re n t : A da pta bility [S y s te m ] O f f s prin g : En v C h a n g e R e co g n it io n [S y s te m ] ,

S y s C h a n g e R e co g n it io n [S y s te m ] ,S y s C h a n g e [S y s te m ]

C o n tribu t io n : A ND

Page 22: Semi-Automatic Generation of  Adaptable Architectures

Semi-Automatic Generation of AdSemi-Automatic Generation of Adaptable Architecturesaptable Architectures

2222

ASAFASAFD ec o m p o s e ad ap tab ility f o r th e d o m ain

C r ea te S I G f o r eac h c o n s titu en t

P o p u la te S I G e lem en ts in KB

F o r n ew p r o jec t s ear c h KB

Us in g KB o u tp u ts g en er a te a r c h itec tu r es

E v alu a te c o m p etin g a r c h itec tu r es an d s e lec t b e tte ro n e

I m p lem en t a r c h itec tu r e

Page 23: Semi-Automatic Generation of  Adaptable Architectures

Semi-Automatic Generation of AdSemi-Automatic Generation of Adaptable Architecturesaptable Architectures

2323

ASAFASAF

Populating SIG Elements in a Knowledge Base Populating SIG Elements in a Knowledge Base (KB)(KB) Used Telos for knowledge representationUsed Telos for knowledge representation Frame-like notations described in TelosFrame-like notations described in Telos Automated using ASAA Automated using ASAA

Page 24: Semi-Automatic Generation of  Adaptable Architectures

Semi-Automatic Generation of Adaptable Architectures

24

ASAF Example Telos Propositions

Individual Softgoal in Class withattribute type: Topic; topic: Label; priority: Priority; author: Author; creationTime: CreationTimeend

Individual NFRDecompositionMethod inMethod isA Class with attribute parent: NFRSoftgoal; offspring: NFRSoftgoal; contribution: Contributionend

Page 25: Semi-Automatic Generation of  Adaptable Architectures

Semi-Automatic Generation of AdSemi-Automatic Generation of Adaptable Architecturesaptable Architectures

2525

ASAFASAFD ec o m p o s e ad ap tab ility f o r th e d o m ain

C r ea te S I G f o r eac h c o n s titu en t

P o p u la te S I G e lem en ts in KB

F o r n ew p r o jec t s ear c h KB

Us in g KB o u tp u ts g en er a te a r c h itec tu r es

E v alu a te c o m p etin g a r c h itec tu r es an d s e lec t b e tte ro n e

I m p lem en t a r c h itec tu r e

Page 26: Semi-Automatic Generation of  Adaptable Architectures

Semi-Automatic Generation of AdSemi-Automatic Generation of Adaptable Architecturesaptable Architectures

2626

ASAFASAF Summarizing the ASAF ProcessSummarizing the ASAF Process

Generate Adaptable ArchitecturesGenerate Adaptable Architectures

Create a repository of adaptable constituentsCreate a repository of adaptable constituents

Considers correlations with other NFRsConsiders correlations with other NFRs

Evaluate architectures for adaptabilityEvaluate architectures for adaptability

Comparatively analyze architecturesComparatively analyze architectures

Page 27: Semi-Automatic Generation of  Adaptable Architectures

Semi-Automatic Generation of AdaptSemi-Automatic Generation of Adaptable Architecturesable Architectures

2727

Road MapRoad Map AdaptabilityAdaptability Software ArchitectureSoftware Architecture Adaptable Software Architecture Framework Adaptable Software Architecture Framework

(ASAF)(ASAF) Adaptable Software Architecture Assistant Adaptable Software Architecture Assistant

(ASAA)(ASAA) Validation of ASAF Validation of ASAF Future WorkFuture Work

Page 28: Semi-Automatic Generation of  Adaptable Architectures

Semi-Automatic Generation of AdSemi-Automatic Generation of Adaptable Architecturesaptable Architectures

2828

Adaptable Software Adaptable Software Architecture Assistant (ASAA)Architecture Assistant (ASAA)

Provides Provides automation to ASAFautomation to ASAF knowledge base to store SIG elementsknowledge base to store SIG elements user interfaces for storing the KBuser interfaces for storing the KB user interfaces for extracting data from user interfaces for extracting data from

KBKB

Page 29: Semi-Automatic Generation of  Adaptable Architectures

Semi-Automatic Generation of AdSemi-Automatic Generation of Adaptable Architecturesaptable Architectures

2929

ASAAASAA

Architecture of ASAAArchitecture of ASAAArc h itec tu r a lKn o w led g e

C as e Bas e

C o m m u n ic a tio n C o n tr o lle r

P o p u la te KB Br o w s e KBS earc h KBUp d ate C as e

Bas eD is p lay

C o n s titu en ts

G r ap h ic a lD is p lay D r iv er s

KB ( s er v er )

Us er I n ter f ac e

T E L O So v er T C P /I P

L eg en d : m ean s P ro c ed u r e In v o c atio n

The KBMS used is The KBMS used is ConceptBaseConceptBase

ASAA runs on ASAA runs on

Solaris 2.4 andSolaris 2.4 and

aboveabove ASAA is written in Tcl/TkASAA is written in Tcl/Tk

Page 30: Semi-Automatic Generation of  Adaptable Architectures

Semi-Automatic Generation of AdSemi-Automatic Generation of Adaptable Architecturesaptable Architectures

3030

ASAAASAA User InterfaceUser Interface

M en uBar

I c o nP an el

Ed ito rF ie ld

P r o to c o lF ie ld

S ta tu sL in e

Page 31: Semi-Automatic Generation of  Adaptable Architectures

Semi-Automatic Generation of AdSemi-Automatic Generation of Adaptable Architecturesaptable Architectures

3131

ASAAASAA

User Interfaces to Populate KBUser Interfaces to Populate KB

Page 32: Semi-Automatic Generation of  Adaptable Architectures

Semi-Automatic Generation of AdSemi-Automatic Generation of Adaptable Architecturesaptable Architectures

3232

ASAAASAA

User Interfaces to Populate KB(contd)User Interfaces to Populate KB(contd)

Page 33: Semi-Automatic Generation of  Adaptable Architectures

Semi-Automatic Generation of AdSemi-Automatic Generation of Adaptable Architecturesaptable Architectures

3333

ASAAASAA

User Interfaces Searching KBUser Interfaces Searching KB

Page 34: Semi-Automatic Generation of  Adaptable Architectures

Semi-Automatic Generation of AdSemi-Automatic Generation of Adaptable Architecturesaptable Architectures

3434

ASAAASAA

Icons for Search OutputsIcons for Search Outputs

< < c o m p o n en t> >c o m p o n en t- n am e

( s im ila r ity % ) < < c o n n ec tio n > >c o n n ec tio n - n am e ( s im ila r ity % )

< < p atte r n > >p atte r n - n am e( s im ila r ity % )

< < c o n s tr a in t> >c o n s tr a in t- n am e

( s im ila r ity % )

< < s ty le> >s ty le - n am e

( s im ila r ity % )

?

< < r a tio n a le> >r a tio n a le- n am e ( s im ila r ity % )

Page 35: Semi-Automatic Generation of  Adaptable Architectures

Semi-Automatic Generation of AdaptSemi-Automatic Generation of Adaptable Architecturesable Architectures

3535

Road MapRoad Map AdaptabilityAdaptability Software ArchitectureSoftware Architecture Adaptable Software Architecture Framework Adaptable Software Architecture Framework

(ASAF)(ASAF) Adaptable Software Architecture Assistant Adaptable Software Architecture Assistant

(ASAA)(ASAA) Validation of ASAF Validation of ASAF Future WorkFuture Work

Page 36: Semi-Automatic Generation of  Adaptable Architectures

Semi-Automatic Generation of AdSemi-Automatic Generation of Adaptable Architecturesaptable Architectures

3636

Validating ASAFValidating ASAF Used ASAF in three systems Used ASAF in three systems

- Vocabulary Evolution System- Vocabulary Evolution System- User Interface System- User Interface System- Adaptable Remote Maintenance System- Adaptable Remote Maintenance System

Implemented the architectures in actual Implemented the architectures in actual systemssystems

Confirmed the software was adaptableConfirmed the software was adaptable Obtained feedback from domain expertsObtained feedback from domain experts

Page 37: Semi-Automatic Generation of  Adaptable Architectures

Semi-Automatic Generation of AdSemi-Automatic Generation of Adaptable Architecturesaptable Architectures

3737

Validating ASAFValidating ASAF Vocabulary Evolution System (VES)Vocabulary Evolution System (VES)

Communication Link

Embedded System

External Controller

Commands

Commands evolveCommands evolve- Change in product (as part of product line)Change in product (as part of product line)- Change in featuresChange in features- Change in standardChange in standard

Page 38: Semi-Automatic Generation of  Adaptable Architectures

Semi-Automatic Generation of AdSemi-Automatic Generation of Adaptable Architecturesaptable Architectures

3838

Validating ASAFValidating ASAF

User Interface System (UIS)User Interface System (UIS)- Permits data entry and display Permits data entry and display - Inputs include keys, knobs and remote Inputs include keys, knobs and remote

interfacesinterfaces- Outputs include LCD, remote interfaceOutputs include LCD, remote interface

T e s t Ins trum e ntB a c k E nd

U s e rInte rfa c eU s e r

H um a no r C o m pute r

S ys te m F irm w a re

inte ra c ts bi-dire c tio na lc o m m unic a tio n

Page 39: Semi-Automatic Generation of  Adaptable Architectures

Semi-Automatic Generation of AdSemi-Automatic Generation of Adaptable Architecturesaptable Architectures

3939

Validating ASAFValidating ASAF

Adaptable Remote Maintenance System (ARMS)Adaptable Remote Maintenance System (ARMS)- web-based maintenance of embedded systemsweb-based maintenance of embedded systems- uses software agents to execute specific actionsuses software agents to execute specific actions- system is adaptable to new requirementssystem is adaptable to new requirements- software agents can be adaptable as wellsoftware agents can be adaptable as well

E m b ed d ed S y s temR em o te D iag n o s er

I n te r n e t

C en tr a l S er v erL AN

Page 40: Semi-Automatic Generation of  Adaptable Architectures

Semi-Automatic Generation of Adaptable Architectures

40

Validating ASAF• SIGs for VES

S y n tac ticAd ap tab ility[ C o m m u n ic a tio n ,

VE S ]

S y n tac ticAd ap tab ility [ P ar s in g ,

VE S ]

S y n tac ticAd ap tab ility[ P r o c es s in g , VE S ]

Ad ap tab ility [ VE S ]

S y n tac ticAd ap tab ility[ VE S ]

S em an ticAd ap tab ility[ VE S ]

C o n tex tu a lAd ap tab ility[ VE S ]

Q u alityAd ap tab ility[ VE S ]

A ut oD e t e c t a bilit y[E ]

D e t e c t a bilit y[ C h a n ge in E n v ir o n m e n t , C o m m un ic a t io n , V E S]

R e c o gn iz a bilit y[ C h a n ge in C o m m un ic a t io n Subsy st e m ]

E n a c t a bilit y[ C h a n ge in C o m m un ic a t io n Subsy st e m ]

M a n ua lD e t e c t a bilit y[E ]

A ut oR e c o gn iz -a bilit y[S]

M a n ua lR e c o gn iz -a bilit y[S]

A ut oE n a c t -a bilit y[S]

M a n ua lE n a c t -a bilit y[S]

!! !

T r a n sf o r m a bili t y[ C o m m un ic a t io n , V E S]

A ut o m a t ic Sy n t a c t icA da p t a bilit y[ C o m m un ic a t io n ,

V E S]

M a n ua l Sy n t a c t icA da p t a bilit y[ C o m m un ic a t io n ,

V E S]

A da p t a bleD r iv e r

C o m p o n e n t

A ut oD e t e c t a bilit y[E , E t h e r n e t ]

A ut oD e t e c t a bilit y[E , G P I B ]

A ut oD e t e c t a bilit y[E , Se r ia l]

A da p t a bleP a r se r

C o m p o n e n t

+ +

+ ++ +

Ad ap tab ility [ VES ]

S y n tac ticAd ap tab ility[ VES ]

S em an ticAd ap tab ility[ VES ]

C o n tex tu a lAd ap tab ility[VES ]

Q u alityAd ap tab ility[ VES ]

C o u p lin g[C o n n ec tio n s , VES ]

In fo rm atio n Hid in g[C o n n ec tio n s , VES ]

M o d if iab ility[C o n n ec tio n s , VES ]

Lo w C o u p lin g[C o n n ec tio n s , VES ]

Hig h C o u p lin g[C o n n ec tio n s , VES ]

Lo w In fo rm atio n Hid in g[C o n n ec tio n s , VES ]

Hig hIn fo rm atio nHid in g[C o n n ec tio n s , VES ]

C rea tab ility[N ew C o n n ec tio n s , VES ]

C h an g eab ility[Ex is tin g C o n n ec tio n s , VES ]

Eas y C rea tab ility[N ew C o n n ec tio n s ,

VES ]

Hard C rea tab ility[N ew C o n n ec tio n s ,VES ]

Eas yC h an g eab ility[Ex is tin gC o n n ec tio n s , VES ]

HardC h an g eab ility[Ex is tin gC o n n ec tio n s , VES ]

M e ssa geP a ssin g

P r o c e dur eI n v o c a t io n

I m p lic itI n v o c a t io n

Im p lem en tab ility[C o n n ec tio n s , VES ]

Eas yIm p lem en tab ility[C o n n ec tio n s ,

VES ]

HardIm p lem en tab ility[C o n n ec tio n s ,

VES ]

Ad ap tab ility [ VE S ]

S y n tac ticAd ap tab ility[ VE S ]

S em an ticAd ap tab ility[ VE S ]

C o n tex tu alAd ap tab ility[VE S ]

Q u alityAd ap tab ility[ VE S ]

C o u p lin g b e tw eenC o m p o n en ts[ P atte r n s , VE S ]

M o d if iab ility[ P atte r n s , VE S ]

L o w C o u p lin g[ P atte r n s , VE S ]

Hig h C o u p lin g[ P atte r n s , VE S ]

C r ea tab ility[ N ew C o m p o n en ts ,

VE S ]

C r ea tab ility[ N ew C o n n ec tio n s ,VE S ]

C h an g eab ility[ E x is tin g C o n n ec tio n s , VE S ]

E as y C r ea tab ility[ N ew C o n n ec tio n s ,

VE S ]

Hard C r ea tab ility[ N ew C o n n ec tio n s ,VE S ]

E as yC h an g eab ility[ E x is tin gC o n n ec tio n s ,VE S ]

HardC h an g eab ility[ E x is tin gC o n n ec tio n s , VE S ]

R in gSe que n t ia l

I m p lem en tab ility[ P atte r n s , VE S ]

E as yI m p lem en tab ility[ P atte r n s ,

VE S ]

HardI m p lem en tab ility[ P atte r n s ,

VE S ]C h an g eab ility[ E x is tin g C o m p o n en ts , VE S ]

E as yC h an g eab ility[ E x is tin gC o m p o n en ts ,VE S ]

HardC h an g eab ility[ E x is tin gC o m p o n en ts ,VE S ]

E as y C r ea tab ility[ N ew C o m p o n en ts ,

VE S ]

Hard C r ea tab ility[ N ew C o m p o n en ts ,VE S ]

Page 41: Semi-Automatic Generation of  Adaptable Architectures

Semi-Automatic Generation of AdSemi-Automatic Generation of Adaptable Architecturesaptable Architectures

4141

Validating ASAFValidating ASAF

The current population of KBThe current population of KB

Ite m Ap p ro x. Q ty.

NF R So ftg oal >10 0

De sig n So ftg oal ~50

NF R De co mpo sition M e tho d ~50

Op e ration alizatio n M e th o d >10 0

Co rre latio n Ru le >10

Typ e ~50

Top ic ~10 0

Case ~30 0

Page 42: Semi-Automatic Generation of  Adaptable Architectures

Semi-Automatic Generation of AdSemi-Automatic Generation of Adaptable Architecturesaptable Architectures

4242

Validating ASAFValidating ASAF

Architecture Generated for VESArchitecture Generated for VESA da pta ble D riv e r A da pta ble Pa rs e r

I n pu t C o n tro lle r

L C D C o n tro lle r

O u tpu tC o n tro lle r

A daptable R FC on tr ol l e r

L e v e l C o n tro lle r

le v e l:flo a t = 0.0

S e t (flo a t ):in tS e tExt ra (flo a t ):in tGe t (v o id ):flo a t

Fre qu e n cy C o n tro lle r

fre q u e n c y :flo a t = 10.0

S e t (flo a t ):in tS e tExt ra (flo a t ):in tGe t (v o id ):flo a t

D a ta S to re

D a te :D a te = 00/00/00T ime :T ime = 00:00:00g p ib _ a d d r: in t = 1e rro r: S t rin g = " 0"

S e tT ime (T ime ):in tGe tT ime (v o id ):T imeS e tD a te (D a te ):in tGe tD a te (v o id ):D a teS e tGp ib A d d r(in t ):in tGe tGp ib A d d r(v o id ):in tS e tErro r(S t rin g ):in tGe tLa s tErro r(v o id ):S t rin g

1 1

1

1

1

1

1

1

1

2

1

2

1

1

1

1

1

1

1

1

S e n d s In p u t s

S e n d s P a rs e d C o d e sS e n d s P a rs e d C o d e s

S e n d s O u tp u t s

S e t s Va lu e s

U p d a te s D is p la y

Ge t s Va lu e s Ge t s Va lu e s

S e t s Va lu e s

Page 43: Semi-Automatic Generation of  Adaptable Architectures

Semi-Automatic Generation of AdSemi-Automatic Generation of Adaptable Architecturesaptable Architectures

4343

Validating ASAFValidating ASAF Traceability of Adaptability Traceability of Adaptability

VE S

Adaptabil i ty[VE S]

Ac c e ptabil i ty[C o m m ands ]

Se ttabi l i ty[O utputs ]

P e r fo rm anc e[Tim e ]

Ac c e ptabil i ty[E vo lve d C o m m ands ]

Ac c e ptabil i ty[O r iginal C o m m ands ]

Se ttabi l i ty[O utputs ,L e ve ls ]

Se ttabi l i ty[O utputs ,F re que nc ie s ]

P e r fo rm anc e[Tim e toE xe c uteC o m m ands ]

P e r fo rm anc e[Tim e to Se t H ardware ]

T im e w asm eas u r ed to

b e 3 0 0 m s

T im e w asm eas u r ed to b e

7 0 m s< < 1 s lim it

F o u n d toac c ep t ev o lv ed

c o m m an d s

F o u n d toac c ep t o r ig in a l

c o m m an d s

Page 44: Semi-Automatic Generation of  Adaptable Architectures

Semi-Automatic Generation of AdSemi-Automatic Generation of Adaptable Architecturesaptable Architectures

4444

Validating ASAFValidating ASAF Feedback from Domain ExpertsFeedback from Domain Experts

Mr. Lenny Hoag, Senior Firmware Engineer, Mr. Lenny Hoag, Senior Firmware Engineer, Anritsu CompanyAnritsu Company

Mr. Srini Vaidyanathan, Program Manager, EDS, Mr. Srini Vaidyanathan, Program Manager, EDS, PlanoPlano

Dr. Tommi Mikkonen, Professor, Tampere Institute Dr. Tommi Mikkonen, Professor, Tampere Institute of Tech., ex-Engineer, Nokiaof Tech., ex-Engineer, Nokia

Ms. Lalitha Krishnan, ex-System Analyst, Ms. Lalitha Krishnan, ex-System Analyst, Smithkline BeechamSmithkline Beecham

Mr. Doug DeMarco, Senior Firmware Engineer, Mr. Doug DeMarco, Senior Firmware Engineer, Anritsu CompanyAnritsu Company

Mr. John Freasier, Senior Firmware Engineer, Mr. John Freasier, Senior Firmware Engineer, Anritsu CompanyAnritsu Company

Page 45: Semi-Automatic Generation of  Adaptable Architectures

Semi-Automatic Generation of AdSemi-Automatic Generation of Adaptable Architecturesaptable Architectures

4545

Validating ASAFValidating ASAF

Feedback from Domain ExpertsFeedback from Domain Experts+ Points+ Points

Adaptability is important enough to warrant Adaptability is important enough to warrant a separate framework a separate framework

The process instituted by ASAF is practicalThe process instituted by ASAF is practical ASAF helps component reuseASAF helps component reuse ASAF accepts almost any definition of ASAF accepts almost any definition of

adaptabilityadaptability Considers correlations with other NFRsConsiders correlations with other NFRs Useful for architects, system users, system Useful for architects, system users, system

engineers, developers and process engineers, developers and process engineersengineers

Page 46: Semi-Automatic Generation of  Adaptable Architectures

Semi-Automatic Generation of AdSemi-Automatic Generation of Adaptable Architecturesaptable Architectures

4646

Validating ASAFValidating ASAF

Feedback from Domain ExpertsFeedback from Domain Experts- PointsPoints

Potential users of ASAF/ASAA need to be Potential users of ASAF/ASAA need to be trainedtrained

Potential users of ASAF/ASAA need to be Potential users of ASAF/ASAA need to be motivated to change existing practicemotivated to change existing practice

Lot of effort may be required to generate Lot of effort may be required to generate and maintain the KBand maintain the KB

Needs testing on a larger scaleNeeds testing on a larger scale Process maturity may be required in the Process maturity may be required in the

organizationorganization

Page 47: Semi-Automatic Generation of  Adaptable Architectures

Semi-Automatic Generation of AdaptSemi-Automatic Generation of Adaptable Architecturesable Architectures

4747

Road MapRoad Map AdaptabilityAdaptability Software ArchitectureSoftware Architecture Adaptable Software Architecture Framework Adaptable Software Architecture Framework

(ASAF)(ASAF) Adaptable Software Architecture Assistant Adaptable Software Architecture Assistant

(ASAA)(ASAA) Validation of ASAF Validation of ASAF Future WorkFuture Work

Page 48: Semi-Automatic Generation of  Adaptable Architectures

Semi-Automatic Generation of AdSemi-Automatic Generation of Adaptable Architecturesaptable Architectures

4848

Future WorkFuture Work ASAF ImprovementsASAF Improvements

Eliminate some of the drawbacks determined by expertsEliminate some of the drawbacks determined by experts Apply ASAF to more applicationsApply ASAF to more applications Consider correlations with organization factors like Consider correlations with organization factors like

benefits and costbenefits and cost ASAA ImprovementsASAA Improvements

Add SIG development featureAdd SIG development feature Add evaluation capabilityAdd evaluation capability Automatically update case base upon modification of KBAutomatically update case base upon modification of KB Link ASAA with DisCo Animator Link ASAA with DisCo Animator Integrate POMSAA with ASAAIntegrate POMSAA with ASAA

OthersOthers Standardization of Adaptable ArchitecturesStandardization of Adaptable Architectures Mathematical formulations for architectural adaptabilityMathematical formulations for architectural adaptability