Software Architecture Dependence Analysis Ground Systems Architecture Workshop Debra J Richardson Judith A Stafford Alexander L Wolf University of California at Irvine University of Colorado at Boulder GSAW 98 Overall Problem u Increasing size and complexity of software Intractable Increased expense of design faults u Some Related Issues Legacy Code What do we want to do with it System evolution How can we best maintain and enhance existing systems Future directions How can we minimize these problems in the future GSAW 98 Overall Solution u Automated dependence analysis of software architectures based on ADL descriptions of software architecture basic architectural elements support modeling of behavior and structure to enable early high level analysis accessible to developers u First question What are the meaning and application of dependence analysis for software architectures GSAW 98 Architecture Dependence Analysis Architectural Relationships What types of relationships exist at the architecture level Architecture Dependence Analysis How do we exploit these relationships to answer these questions Architecture based Questions What types of dependence related questions are interesting at the architecture level GSAW 98 Software Architectural Descriptions u Models of gross system behavior and or structure Natural Language Text The system is comprised of a client and a server The client directs the server to do something Box and Arrow Diagrams Client A B Server ADL Specifications component Client Out A Behavior Send A component Server In B Behavior When B then DOSOMETHING architecture Client Server Server A to Client B GSAW 98 Program Dependence Analysis u u Centered on Statements and Variables Sources of Dependence Relationships Control and data flow u Example Uses Code optimization Program understanding Testing and analysis Debugging Impact analysis change management maintenance GSAW 98 Architecture Dependence Analysis u u Centered on Components and Interactions Sources of Dependence Relationships Structure include import export inheritance Behavior input output temporal causal Non functional safety level performance requirements u Example Uses Impact analysis Architecture based Integration testing Architecture Program debugging Workspace management Dynamic Addition Deletion of Components Reuse Safety Security Regression Testing GSAW 98 Some Architectural Relationships Temporal The car must be in park before the ignition is allowed to function Safety level No Component may be impacted by a less safety critical component Causal If a plane is within range set system on alert Combined A includes B which inherits from C A C B GSAW 98 Tabular Representation of Dependence Relationship Table frame is built by recording the ports ADL Specifications component Client Out A Behavior Send A component Server In B Behavior When B then DOSOMETHING architecture Client Server server Server client Client connect server A to client B client Out A server In B A Out client In B server What caused this to happen Relationships are recorded in the cells GSAW 98 Chaining u u u Chain links represent direct dependencies between components Chains represent indirect relationships among components Chaining is the construction of chains a means for performing software architecture dependence analysis a way to answer questions about software architectures GSAW 98 Inspiration for Chaining u ADAGE Avionics System Complex architecture described in Rapide three level nested architecture 30 components 100 ports Informal chaining used to isolate cause of system s incorrect emission of a warning Reduced mental debugging to 25 of system s components GSAW 98 Chains A Component Centric View What components could have contributed to a failure in this component If this component is replaced what components will need to be retested Affect Chain Affected by Chain Component of Interest Affected by Affect Related Chain If I am going to work on this component what other components do I want to have immediately available GSAW 98 Planned Activities u Investigate Coupling of Large Systems How effective can we expect chaining to be u In Depth Comparison of Expressiveness and Modeling Capabilities of ADLs Which relationships are modeled in which ADLs u Refinement of Chaining Technique How can we make chains more precise u u Development of Aladdin Chaining Tool Experiment with Chaining GSAW 98 Experience with Chaining u Gas Station Example Simple architecture described in Rapide 1 operator 1 pump and 2 customers Ok Cust1 Change Ok Cust2 Change PP TOn TOff Walk PP TOn TOff Walk Operator Request Result On Remit Schedule Pump Off Activate Report GSAW 98 Rapide Specification for Gas Station type Dollars is integer enum 0 1 2 3 end enum type Gallons is integer enum 0 1 2 3 end enum type Customer is interface action in Okay Change Cost Dollars out Pre Pay Cost Dollars Okay Turn On Walk Turn Off behavior D Dollars is 10 type Operator is interface begin type Pump is interface start Pre Pay D Okay Walk architecture gas station return root is Walk Turn On O Operator end Customer P Pump C1 C2 Customer connect C Customer X Dollars C Pre Pay X O Request X X Dollars O Schedule X P Activate X X Dollars O Schedule X C1 Okay C Customer C Turn On P On C Customer C Turn Off P Off X Gallons Y Dollars P Report X Y O Result Y end gas station GSAW 98 Gas Station Matrix Ope ra tor Pum p Out In Sch Re m Re q Re s Out In On In Off Schedule Re m it Re que st Re sult Wa lk Out Turn Off Oka y Cha nge Custom e r1 In Sta rt Turn Off Oka y PP Pre Pa y Turn On Out sta rt Off Inp Activa te Pum Turn On Wa lk PP Custom e r2 Out In T On Wa lk T Off Oka y Chg Re port On Pre Pa y Act Custom e r1 Out In T On Wa lk T Off Oka y Chg OPERATOR Out Out Re p Cha nge Custom e r2 In Sta rt Rapide agent connection Models new thread of control for each triggering Rapide pipe connection Models single thread of control thus creating additional dependencies on prior triggerings of the rule sta rt GSAW 98 Experience with Chaining u Gas Station Example Table representation used to detect anomaly Chaining used to determine components that will be affected if pump report is altered identify fault that allows only first customer to pump gas GSAW 98 Gas Station Anomaly Ope ra tor Pum p Out In Sch Re m Re q Re s Out In On In Off Schedule Re m it Re que st Re sult Wa lk Out Turn Off Oka y Cha nge Custom e r1 In Sta rt Turn Off Oka y Cha nge Custom e r2 In Sta rt PP Pre Pa y Turn On Out sta rt
View Full Document
Unlocking...