bfec1a3d7e46edbc8d355d7d8a45305c.ppt
- Количество слайдов: 48
Semi-Automatic Generation of Adaptable Architectures Nary Subramanian, Lawrence Chung Department of Computer Science The University of Texas at Dallas June, 2003 Semi-Automatic Generation of Adaptable Architectures
Road Map n n n Adaptability Software Architecture Adaptable Software Architecture Framework (ASAF) Adaptable Software Architecture Assistant (ASAA) Validation of ASAF Future Work Semi-Automatic Generation of Adaptable Architectures 2
Adaptability is the ability of software systems to accommodate changes in their environment. Environment Software System Environment: OS, hardware platform, heat, noise, speed, number of interrupts, vibration, power, attenuation, new commands, etc. Semi-Automatic Generation of Adaptable Architectures 3
Adaptability Advantages of Adaptable Software n n Adapts to environment changes Easier to develop systems satisfying new requirements n Facilitates addition of new software features n Saves maintenance costs Semi-Automatic Generation of Adaptable Architectures 4
Adaptability Examples of Adaptable Systems n n n n 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 e. Liza project at IBM Semi-Automatic Generation of Adaptable Architectures 5
Road Map n n n Adaptability Software Architecture Adaptable Software Architecture Framework (ASAF) Adaptable Software Architecture Assistant (ASAA) Validation of ASAF Future Work Semi-Automatic Generation of Adaptable Architectures 6
Software Architecture n n The underlying structure of things Description of system structures – data flow, modules, process, … Project blue print Description of relationships among components and connections Semi-Automatic Generation of Adaptable Architectures 7
Software Architecture n Objective High level abstraction of software system n Guide detailed design n Desire to achieve particular software qualities or NFRs n n Adaptability is designed-in at the architectural level itself Semi-Automatic Generation of Adaptable Architectures 8
Software Architecture n Architectural Constituents Components n Connections n Patterns n Constraints n Styles n Rationale n Semi-Automatic Generation of Adaptable Architectures 9
Software Architecture n - Architecture Representation Box-and-Line diagrams Modeling Languages ADL Architecture Specification Language - Dis. Co (DIStributed COoperation) Semi-Automatic Generation of Adaptable Architectures 10
Software Architecture • Dis. Co Specification Semi-Automatic Generation of Adaptable Architectures 11
Software Architecture n Reusing Architecture n n n At the constituent level At the architecture level Architecture Repository Stores architectural constituents n Can be stored as Dis. Co specifications or code n Available for reuse n Semi-Automatic Generation of Adaptable Architectures 12
Road Map n n n Adaptability Software Architecture Adaptable Software Architecture Framework (ASAF) Adaptable Software Architecture Assistant (ASAA) Validation of ASAF Future Work Semi-Automatic Generation of Adaptable Architectures 13
Current Adaptable System Development Method Semi-Automatic Generation of Adaptable Architectures 14
Problems with Current Method No explicit traceability of solutions to requirements n No systematic way to analyze/explore alternative solutions n No systematic way to determine the degree of adaptability n Semi-Automatic Generation of Adaptable Architectures 15
Adaptable Software Architecture Framework (ASAF) n The specialization of the NFR Framework for software architectures and for the NFR adaptability n Provides a methodology for generating adaptable software architectures n Creates an architecture repository for architecture reuse n Introduces a process-oriented metrics for evaluating architecture adaptability n Automates adaptable architecture generation process Semi-Automatic Generation of Adaptable Architectures 16
ASAF n Process Instituted by ASAF Semi-Automatic Generation of Adaptable Architectures 17
ASAF • Softgoal Interdependency Graph (SIG) Example SIG Semi-Automatic Generation of Adaptable Architectures Legend 18
ASAF n Process of SIG Creation Decompose Adaptability for the domain - NFR softgoal hierarchy Develop architectural alternatives - Design softgoal hierarchy Assign criticalities to various softgoals Determine extent to which design softgoals satisfice NFR softgoals - claim softgoal hierarchy 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 19
• SIG Elements ASAF Semi-Automatic Generation of Adaptable Architectures 20
ASAF • Representing SIG Elements (Frame-like Notation) Semi-Automatic Generation of Adaptable Architectures 21
ASAF Semi-Automatic Generation of Adaptable Architectures 22
ASAF n Populating SIG Elements in a Knowledge Base (KB) n Used Telos for knowledge representation n Frame-like notations described in Telos n Automated using ASAA Semi-Automatic Generation of Adaptable Architectures 23
ASAF Example Telos Propositions Individual Softgoal in Class with attribute type: Topic; topic: Label; priority: Priority; author: Author; creation. Time: Creation. Time end Individual NFRDecomposition. Method in Method is. A Class with attribute parent: NFRSoftgoal; offspring: NFRSoftgoal; contribution: Contribution end Semi-Automatic Generation of Adaptable Architectures 24
ASAF Semi-Automatic Generation of Adaptable Architectures 25
ASAF n Summarizing the ASAF Process n Generate Adaptable Architectures § Create a repository of adaptable constituents § Considers correlations with other NFRs § Evaluate architectures for adaptability § Comparatively analyze architectures Semi-Automatic Generation of Adaptable Architectures 26
Road Map n n n Adaptability Software Architecture Adaptable Software Architecture Framework (ASAF) Adaptable Software Architecture Assistant (ASAA) Validation of ASAF Future Work Semi-Automatic Generation of Adaptable Architectures 27
Adaptable Software Architecture Assistant (ASAA) n Provides automation to ASAF n knowledge base to store SIG elements n user interfaces for storing the KB n user interfaces for extracting data from KB n Semi-Automatic Generation of Adaptable Architectures 28
ASAA n Architecture of ASAA n n n Semi-Automatic Generation of Adaptable Architectures The KBMS used is Concept. Base ASAA runs on Solaris 2. 4 and above ASAA is written in Tcl/Tk 29
n User Interface ASAA Semi-Automatic Generation of Adaptable Architectures 30
ASAA n User Interfaces to Populate KB Semi-Automatic Generation of Adaptable Architectures 31
ASAA n User Interfaces to Populate KB(contd) Semi-Automatic Generation of Adaptable Architectures 32
ASAA n User Interfaces Searching KB Semi-Automatic Generation of Adaptable Architectures 33
ASAA n Icons for Search Outputs Semi-Automatic Generation of Adaptable Architectures 34
Road Map n n n Adaptability Software Architecture Adaptable Software Architecture Framework (ASAF) Adaptable Software Architecture Assistant (ASAA) Validation of ASAF Future Work Semi-Automatic Generation of Adaptable Architectures 35
Validating ASAF n n Used ASAF in three systems - Vocabulary Evolution System - User Interface System - Adaptable Remote Maintenance System Implemented the architectures in actual systems Confirmed the software was adaptable Obtained feedback from domain experts Semi-Automatic Generation of Adaptable Architectures 36
Validating ASAF n Vocabulary Evolution System (VES) Embedded System n Commands Communication Link External Controller Commands evolve - Change in product (as part of product line) Change in features Change in standard Semi-Automatic Generation of Adaptable Architectures 37
Validating ASAF n User Interface System (UIS) - Permits data entry and display Inputs include keys, knobs and remote interfaces Outputs include LCD, remote interface Semi-Automatic Generation of Adaptable Architectures 38
Validating ASAF n Adaptable Remote Maintenance System (ARMS) - web-based maintenance of embedded systems uses software agents to execute specific actions system is adaptable to new requirements software agents can be adaptable as well Semi-Automatic Generation of Adaptable Architectures 39
Validating ASAF • SIGs for VES Semi-Automatic Generation of Adaptable Architectures 40
Validating ASAF n The current population of KB Semi-Automatic Generation of Adaptable Architectures 41
Validating ASAF n Architecture Generated for VES Semi-Automatic Generation of Adaptable Architectures 42
Validating ASAF n Traceability of Adaptability Semi-Automatic Generation of Adaptable Architectures 43
Validating ASAF n Feedback from Domain Experts n n n Mr. Lenny Hoag, Senior Firmware Engineer, Anritsu Company Mr. Srini Vaidyanathan, Program Manager, EDS, Plano Dr. Tommi Mikkonen, Professor, Tampere Institute of Tech. , ex-Engineer, Nokia Ms. Lalitha Krishnan, ex-System Analyst, Smithkline Beecham Mr. Doug De. Marco, Senior Firmware Engineer, Anritsu Company Mr. John Freasier, Senior Firmware Engineer, Anritsu Company Semi-Automatic Generation of Adaptable Architectures 44
Validating ASAF n Feedback from Domain Experts + Points Ø Adaptability is important enough to warrant a separate framework Ø The process instituted by ASAF is practical Ø ASAF helps component reuse Ø ASAF accepts almost any definition of adaptability Ø Considers correlations with other NFRs Ø Useful for architects, system users, system engineers, developers and process engineers Semi-Automatic Generation of Adaptable Architectures 45
Validating ASAF n Feedback from Domain Experts - Points Ø Potential users of ASAF/ASAA need to be trained Ø Potential users of ASAF/ASAA need to be motivated to change existing practice Ø Lot of effort may be required to generate and maintain the KB Ø Needs testing on a larger scale Ø Process maturity may be required in the organization Semi-Automatic Generation of Adaptable Architectures 46
Road Map n n n Adaptability Software Architecture Adaptable Software Architecture Framework (ASAF) Adaptable Software Architecture Assistant (ASAA) Validation of ASAF Future Work Semi-Automatic Generation of Adaptable Architectures 47
Future Work n ASAF Improvements n n ASAA Improvements n n n Eliminate some of the drawbacks determined by experts Apply ASAF to more applications Consider correlations with organization factors like benefits and cost Add SIG development feature Add evaluation capability Automatically update case base upon modification of KB Link ASAA with Dis. Co Animator Integrate POMSAA with ASAA Others n n Standardization of Adaptable Architectures Mathematical formulations for architectural adaptability Semi-Automatic Generation of Adaptable Architectures 48
bfec1a3d7e46edbc8d355d7d8a45305c.ppt