1 / 48

Semi-Automatic Generation of Adaptable Architectures

This study explores the concept of adaptability in software systems and proposes a framework for generating adaptable architectures. It also discusses the advantages of adaptable software and provides examples of adaptable systems. The study introduces the Adaptable Software Architecture Framework (ASAF) and the Adaptable Software Architecture Assistant (ASAA) as tools for generating adaptable architectures. The framework includes a process-oriented metrics for evaluating architecture adaptability and automates the architecture generation process.

jantonia
Download Presentation

Semi-Automatic Generation of Adaptable Architectures

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. Road Map • Adaptability • Software Architecture • Adaptable Software Architecture Framework (ASAF) • Adaptable Software Architecture Assistant (ASAA) • Validation of ASAF • Future Work Semi-Automatic Generation of Adaptable Architectures

  3. Adaptability Adaptability is the ability of software systems to accommodate changes in their environment. Software System Environment Environment: OS, hardware platform, heat, noise, speed, number of interrupts, vibration, power, attenuation, new commands, etc. Semi-Automatic Generation of Adaptable Architectures

  4. Adaptability Advantages 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 Adaptable Architectures

  5. Adaptability 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 Adaptable Architectures

  6. Road Map • Adaptability • Software Architecture • Adaptable Software Architecture Framework (ASAF) • Adaptable Software Architecture Assistant (ASAA) • Validation of ASAF • Future Work Semi-Automatic Generation of Adaptable Architectures

  7. Software Architecture • 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

  8. Software Architecture • Objective • High level abstraction of software system • Guide detailed design • Desire to achieve particular software qualities or NFRs • Adaptability is designed-in at the architectural level itself Semi-Automatic Generation of Adaptable Architectures

  9. Software Architecture • Architectural Constituents • Components • Connections • Patterns • Constraints • Styles • Rationale Semi-Automatic Generation of Adaptable Architectures

  10. Software Architecture • Architecture Representation • Box-and-Line diagrams • Modeling Languages • ADL • Architecture Specification Language - DisCo (DIStributed COoperation) Semi-Automatic Generation of Adaptable Architectures

  11. Software Architecture • DisCo Specification Semi-Automatic Generation of Adaptable Architectures

  12. Software Architecture • Reusing Architecture • At the constituent level • At the architecture level • Architecture Repository • Stores architectural constituents • Can be stored as DisCo specifications or code • Available for reuse Semi-Automatic Generation of Adaptable Architectures

  13. Road Map • Adaptability • Software Architecture • Adaptable Software Architecture Framework (ASAF) • Adaptable Software Architecture Assistant (ASAA) • Validation of ASAF • Future Work Semi-Automatic Generation of Adaptable Architectures

  14. Current Adaptable System Development Method Semi-Automatic Generation of Adaptable Architectures

  15. Problems with Current Method • No explicit traceability of solutions to requirements • No systematic way to analyze/explore alternative solutions • No systematic way to determine the degree of adaptability Semi-Automatic Generation of Adaptable Architectures

  16. Adaptable Software Architecture Framework (ASAF) • The specialization of the NFR Framework for software architectures and for the NFR adaptability • Provides a methodology for generating adaptable software architectures • Creates an architecture repository for architecture reuse • Introduces a process-oriented metrics for evaluating architecture adaptability • Automates adaptable architecture generation process Semi-Automatic Generation of Adaptable Architectures

  17. ASAF • Process Instituted by ASAF Semi-Automatic Generation of Adaptable Architectures

  18. ASAF • Softgoal Interdependency Graph (SIG) Example SIG Legend Semi-Automatic Generation of Adaptable Architectures

  19. ASAF Decompose Adaptability for the domain - NFR softgoal hierarchy • Process of SIG Creation 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

  20. ASAF • SIG Elements Semi-Automatic Generation of Adaptable Architectures

  21. ASAF • Representing SIG Elements (Frame-like Notation) Semi-Automatic Generation of Adaptable Architectures

  22. ASAF Semi-Automatic Generation of Adaptable Architectures

  23. ASAF • Populating SIG Elements in a Knowledge Base (KB) • Used Telos for knowledge representation • Frame-like notations described in Telos • Automated using ASAA Semi-Automatic Generation of Adaptable Architectures

  24. ASAF Example Telos Propositions Individual Softgoal in Class with attribute type: Topic; topic: Label; priority: Priority; author: Author; creationTime: CreationTime end Individual NFRDecompositionMethod in Method isA Class with attribute parent: NFRSoftgoal; offspring: NFRSoftgoal; contribution: Contribution end Semi-Automatic Generation of Adaptable Architectures

  25. ASAF Semi-Automatic Generation of Adaptable Architectures

  26. ASAF • Summarizing the ASAF Process • 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

  27. Road Map • Adaptability • Software Architecture • Adaptable Software Architecture Framework (ASAF) • Adaptable Software Architecture Assistant (ASAA) • Validation of ASAF • Future Work Semi-Automatic Generation of Adaptable Architectures

  28. Adaptable Software Architecture Assistant (ASAA) • Provides • automation to ASAF • knowledge base to store SIG elements • user interfaces for storing the KB • user interfaces for extracting data from KB Semi-Automatic Generation of Adaptable Architectures

  29. ASAA • The KBMS used is ConceptBase • ASAA runs on Solaris 2.4 and above • ASAA is written in Tcl/Tk • Architecture of ASAA Semi-Automatic Generation of Adaptable Architectures

  30. ASAA • User Interface Semi-Automatic Generation of Adaptable Architectures

  31. ASAA • User Interfaces to Populate KB Semi-Automatic Generation of Adaptable Architectures

  32. ASAA • User Interfaces to Populate KB(contd) Semi-Automatic Generation of Adaptable Architectures

  33. ASAA • User Interfaces Searching KB Semi-Automatic Generation of Adaptable Architectures

  34. ASAA • Icons for Search Outputs Semi-Automatic Generation of Adaptable Architectures

  35. Road Map • Adaptability • Software Architecture • Adaptable Software Architecture Framework (ASAF) • Adaptable Software Architecture Assistant (ASAA) • Validation of ASAF • Future Work Semi-Automatic Generation of Adaptable Architectures

  36. Validating ASAF • 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

  37. Validating ASAF Commands Embedded System External Controller • Vocabulary Evolution System (VES) Communication Link • Commands evolve • Change in product (as part of product line) • Change in features • Change in standard Semi-Automatic Generation of Adaptable Architectures

  38. Validating ASAF • 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

  39. Validating ASAF • 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

  40. Validating ASAF • SIGs for VES Semi-Automatic Generation of Adaptable Architectures

  41. Validating ASAF • The current population of KB Semi-Automatic Generation of Adaptable Architectures

  42. Validating ASAF • Architecture Generated for VES Semi-Automatic Generation of Adaptable Architectures

  43. Validating ASAF • Traceability of Adaptability Semi-Automatic Generation of Adaptable Architectures

  44. Validating ASAF • Feedback from Domain Experts • 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 DeMarco, Senior Firmware Engineer, Anritsu Company • Mr. John Freasier, Senior Firmware Engineer, Anritsu Company Semi-Automatic Generation of Adaptable Architectures

  45. Validating ASAF • 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

  46. Validating ASAF • 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

  47. Road Map • Adaptability • Software Architecture • Adaptable Software Architecture Framework (ASAF) • Adaptable Software Architecture Assistant (ASAA) • Validation of ASAF • Future Work Semi-Automatic Generation of Adaptable Architectures

  48. Future Work • ASAF Improvements • Eliminate some of the drawbacks determined by experts • Apply ASAF to more applications • Consider correlations with organization factors like benefits and cost • ASAA Improvements • Add SIG development feature • Add evaluation capability • Automatically update case base upon modification of KB • Link ASAA with DisCo Animator • Integrate POMSAA with ASAA • Others • Standardization of Adaptable Architectures • Mathematical formulations for architectural adaptability Semi-Automatic Generation of Adaptable Architectures

More Related