Upload
huey
View
38
Download
0
Tags:
Embed Size (px)
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
Citation preview
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
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
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.
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
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
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
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
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
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
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
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
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
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
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. . ."
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
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
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 " ?
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
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
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
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
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
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
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
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
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
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
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
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
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
Semi-Automatic Generation of AdSemi-Automatic Generation of Adaptable Architecturesaptable Architectures
3131
ASAAASAA
User Interfaces to Populate KBUser Interfaces to Populate KB
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)
Semi-Automatic Generation of AdSemi-Automatic Generation of Adaptable Architecturesaptable Architectures
3333
ASAAASAA
User Interfaces Searching KBUser Interfaces Searching KB
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 % )
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
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
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
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
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
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 ]
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
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
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
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
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
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
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
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