Model Extensibility by nikeborome

VIEWS: 6 PAGES: 16

									Scenario-Driven Dynamic Analysis
   of Distributed Architectures

 George Edwards       Sam Malek        Nenad Medvidovic
gedwards@usc.edu     malek@usc.edu      neno@usc.edu



             Computer Science Department
            University of Southern California
 Presentation Outline
 • Introduction and Background
       – Architecture Description Languages
       – Model-Driven Engineering


 • Software Architecture in the MDE Context
       – Extensible Modeling Environments
       – Model Interpreter Frameworks


 • The eXtensible Toolchain for Evaluation of Architectural Models (XTEAM)

 • Discussion of Key Capabilities

 • Remaining Research Challenges



March 31, 2011                                                               2
 Background - ADLs
 • Architecture Description Languages (ADLs)

       – Capabilities:
            • Capture crucial design decisions
            • Can be leveraged throughout the software development process

       – Shortcomings:
            • Rely on rigid formalisms
            • Focus on structural elements
            • Lack support for domain-specific extensibility




                 Chart is taken from Medvidovic et al., A Classification and Comparison Framework for Software Architecture Description Languages



March 31, 2011                                                                                                                                      3
 Background - MDE
  • Model-Driven Engineering (MDE)
       – Combines domain-specific modeling languages with model analyzers,
           transformers, and generators

  • Domain-Specific Modeling Languages (DSMLs)
       – Codify domain concepts and relationships as first-class modeling elements



 Metamodels
                         Metamodeling                     Domain Specific
 define elements,                                       Modeling Environment
                         Environment
 relationships, views,
 and constraints          Metamodeling                   Domain Specific
                           Language                     Modeling Languages

 Model interpreters                       Metamodel
                                          Interpreter
 leverage domain-                                                                 Model
                                                                               Transformers,
 specific models for      Metamodels
                                                        XTEAM Architecture
                                                         XTEAM Architecture
                                                             Models             Analyzers,
 analysis, generation,                                        Models
                                                             Models                and
 and transformation                                                             Generators


March 31, 2011                                                                             4
 High-Level Approach
                                            Extensible Modeling
                                               Environment


               Existing                         MDE-based                           Architecture
             Architecture                       Architecture                        Description
             Description    Compose             Description          Extend          Language
             Languages                          Languages                           Extensions




                                                     Model
                 Enable




                                                                                        Enable
                                         Application Architectures


                                                     Analyze

              General                                                                Domain
              Purpose                          Scenario-driven                       Specific
              Analysis          Define                               Define          Analysis
                                                  Dynamic
             Techniques                           Analyses                          Techniques


         General Purpose                     Model Interpreter                   Domain Specific
       Architectural Concepts                  Framework                      Architectural Concepts


March 31, 2011                                                                                         5
 Extensible Modeling Environment
 Capturing Domain-Specific Architectures
 •   Key Challenges:
       – Development of ADLs is inherently difficult
       – Combining extensibility with formal semantics
 •   Solution: Codify ADLs as metamodels
       – ADL composition enables the combination of constructs from multiple ADLs within a
         single model
       – ADL enhancement allows the definition of new, customized ADL constructs



Reuse of existing ADLs
maximizes the potential
for reuse of the tool
infrastructure.

Incremental language
extensions enable a
specific architectural
analysis technique.


March 31, 2011                                                                               6
 Model Interpreter Framework
 Implementing Architectural Analyses
 • Key Challenge:
       – Transforming architectural models into analysis models requires a
         semantic mapping (interpretation) that is often difficult to define and
         implement
            • Requires expertise in modeling languages, software architecture, and
              the relevant domain

 • Solution: Utilize a model interpreter framework
       – Transforms architectural models into executable simulations
       – Provides hook methods that an architect implements to realize an
         analysis technique
            • i.e., logic that performs analysis calculations and records measurements
       – Hides the details of the semantic mapping from the architect
            • No need to understand how the simulation model is constructed and
              executed
March 31, 2011                                                                           7
 The XTEAM Tool-chain
 •   XTEAM employs a metaprogrammable graphical modeling environment (GME)
 •   XTEAM composes existing general-purpose ADLs: xADL Core (structures and types) and FSP (behavior)
 •   GME configures a domain-specific modeling environment with the XTEAM ADL
 •   Architecture models that conform to the XTEAM ADL are created
 •   XTEAM implements a model interpreter framework
 •   The XTEAM ADL is enhanced to capture domain-specific information
 •   The XTEAM Model Interpreter Framework is utilized to implement simulation generators
 •   Application simulations execute in the adevs discrete event simulation engine
 •   Simulations operate on the information captured in ADL extensions to perform scenario-driven analysis

                  GME Metamodeling           GME Domain-Specific                XTEAM Model                      adevs
                    Environment              Modeling Environment                Interpreter                   Simulation
                                                                                 Framework                       Engine
                          GME
                      Metamodeling                XTEAM ADL
                       Paradigm                                                     XTEAM
                                                                                   Simulation                   Application
                                                                                   Generators                   Simulations
                      XTEAM ADL                      XTEAM
                       Metamodel                   Architecture
                                                     Models



           xADL           Finite                                                                           Memory      Scenario-
                                        ADL                         Energy                    End-to-end
         Structures       State                    Application                  Reliability                             driven
                                     Extensions                   Consumption                  Latency      Usage
                                                  Architectures                 Analysis                               Analysis
         and Types      Processes                                   Analysis                   Analysis    Analysis
                                                                                                                        Results
March 31, 2011                                                                                                                     8
 Scenario-Driven Dynamic Analysis
 •    Allows the architect to rapidly investigate the
      consequences of design decisions in terms of their                                                                                          Host A (iPAQ) Battery Power


      impact on non-functional properties                                                                24500




                                                                                 Remaining Energy (mJ)
                                                                                                         24000
                                                                                                                                                                                   FileServer Memory Usage



 •    Results depend heavily on the environmental context
                                                                                                         23500
                                                                                                                                 2000

                                                                                                                                 1800
                                                                                                         23000



      (e.g., the load put on the system)
                                                                                                                                 1600

                                                                                                         22500                   1400                                               Request File Response Time




                                                                                                            Memory In Use (KB)
                                                                                                                                 1200
                                                                                                         22000                                    2500
                                                                                                                                 1000
                                                                                                                                 0              100000                   200000      300000      400000      500000      600000




                                                                                                                                             Response Time (ms)
 •    May contain elements of randomness and
                                                                                                                                 800              2000
                                                                                                                                                                                   Tim e (m s)
                                                                                                                                 600
                                                                                                                                                                  1500
                                                                                                                                 400




      unpredictability (e.g., the timing of client requests)
                                                                                                                                 200                              1000
                                                                                                                                     0
                                                                                                                                         0                        500    500          1000           1500          2000           2500   3000
                                                                                                                                                                                                  Tim e (m s)
                                                                                                                                                                    0


        – The set of scenarios to be simulated should include high-                                                                                                      1     6 11 16 21 26 31 36 41 46 51 56 61 66 71 76 81 86 91 96
                                                                                                                                                                                                            Invocation



          risk situations and boundary conditions

                                   XTEAM Simulation Generators
 Generator            Information Required                           Analysis Provided
                                                                     for each required interface, the response time
 Latency              task and process execution times
                                                                     for each invocation
                                                                     time and type of failures and an overall
 Reliability          failure probabilities and recovery times
                                                                     component reliability metric
                                                                     energy consumption of each component and
 Energy consumption   computational and communication energy costs
                                                                     host over time
                                                                     amount of memory being used on each host
 Memory usage         memory required by each task
                                                                     over time
March 31, 2011                                                                                                                                                                                                                                  9
 Example: Energy Consumption Estimation
 • A computational energy cost is incurred when a component’s
   interfaces are invoked
       – Interfaces are classified and parameterized according to energy
         consumption profile
 • A communication energy cost is incurred when data is transmitted
   over a wireless network
       – Depends on data size, network bandwidth, etc.


                                                                                      Host A (iPAQ) Battery Power

                                                                          24500




                                                   Remaining Energy (J)
                                                                          24000

                                                                          23500

                                                                          23000

                                                                          22500

                                                                          22000
                                                                                  0   100000   200000     300000      400000   500000   600000
                                                                                                        Tim e (m s)




March 31, 2011                                                                                                                             10
 Providing Design Rationale
                                         Client-Server Architecture
 • Architects rely on intuition
   and experience to make                                                                                   Peer-to-peer
                                                                                                            Architecture
   important decisions early in
   the design phase
       – What architectural style to
         use
       – How to allocate functionality
         among subsystems
       – What types of connectors to                                                    Potential Workload
         use

                                                                                               Query DB Response Time


 • XTEAM allows architects to                                                6000




                                                        Response Time (ms)
                                                                             5000



   rationalize such decisions                                                4000
                                                                             3000




   with experimental evidence
                                                                             2000
                                                                             1000
                                                                               0
                                                                                    1   5   9 13 17 21 25 29 33 37 41 45 49 53 57 61 65



       – Model confidence level: Low
                                                                                                          Invocation




                                                         Comparison of latency 
                                                       P2P achieves greater scalability
March 31, 2011                                                                                                                            11
 Weighing Architectural Trade-offs
 • Nearly all architectural decisions come down to trade-offs between
   multiple desirable properties
       – Emphasis on one system property may yield diminishing returns
 • XTEAM allows architects to evaluate design alternatives in terms of their
   impact on multiple non-functional properties
       – Model confidence level: Medium

            Replication of components                  Decreases response time
                                                                                                                 Request File Response Time

                                                                                     2500




                                                        Response Time (ms)
                                                                                     2000

                                                                                     1500

                                                                                     1000

                                                                                             500

                                                                                              0
                                                                                                   1       6 11 16 21 26 31 36 41 46 51 56 61 66 71 76 81 86 91 96
                                                                                                                                 Invocation




                                                     Consumes more battery power
                                                                                                                Host A (iPAQ) Battery Power

                                                                                             24500




                                                                     Remaining Energy (mJ)
                                                                                             24000

                                                                                             23500

                                                                                             23000

                                                                                             22500

                                                                                             22000
                                                                                                       0       100000   200000     300000      400000   500000   600000
                                                                                                                                 Tim e (m s)




March 31, 2011                                                                                                                                                            12
  Evaluating COTS Assemblies
  •   Contemporary large-scale distributed systems contain numerous off-the-shelf
      components
       – Detailed information about the behaviors and properties of individual components
         may be known
       – Component assemblies may exhibit unforeseen behavior due to subtle interactions
         between constituent components
  •   XTEAM allows an architect to determine the emergent properties of a composed
      system
       – Model confidence level: High

Off-the-shelf components     Highly accurate parameterization                                           Determination of
                                                                                                       emergent properties
                                                                                                       Host C (IBM Thinkpad) Battery Power

                                                                                              172000




                                                                      Remaining Energy (mJ)
                                                                                              170000

                                                                                              168000

                                                                                              166000

                                                                                              164000

                                                                                              162000

                                                                                              160000
                                                                                                       0   100000   200000     300000      400000   500000   600000
                                                                                                                             Tim e (m s)




March 31, 2011                                                                                                                                               13
 Incremental System Validation
 •         Individual component                   Component
           implementations may become         implementation
                                                    available
           available in a piecemeal
           fashion
 •         XTEAM allows architects to
       1.     Immediately incorporate           Invoke implementation from behavior model
              component implementations
              into a simulated system,
              increasing the accuracy of
              analysis results
       2.     Rapidly test individual
              components in the context of
              a wide variety of operational
              scenarios
       –      Model confidence level: High

                                               Integrated simulation and test environment

March 31, 2011                                                                              14
 Key Capabilities
 • XTEAM provides a quantitative means for
   software architects to…
       …provide design rationale
          “Using a peer-to-peer architectural style for System X will result in greater scalability.”

       …weigh architectural trade-offs
          “Increasing the reliability of Service Y will incur an increase in latency.”

       …evaluate off-the-shelf component assemblies
          “The set of components selected will meet system energy consumption requirements.”

       …test and validate systems incrementally
          “The prototype of Component Z is not behaving as expected.”

March 31, 2011                                                                                          15
 Remaining Research Challenges
 • Develop additional modeling and simulation capabilities
       – Metadata standards
            • Dublin Core, ISO 11179
       – Dynamic adaptation
            • Lifecycle operations, logical mobility, fault-tolerant replication


 • Implement additional model interpreter frameworks
       – Mappings into other analysis models


 • Further define ways in which our approach can be
   integrated with architectural development processes
       – Architecture Trade-off Analysis Method (ATAM)
       – Prediction-Enabled Component Technology (PECT)

March 31, 2011                                                                     16

								
To top