240 likes | 358 Views
Scenario-Driven Dynamic Analysis of Distributed Architectures. Presented by: Thabet Kacem Spring 2010. Outline. Contributions Introduction Proposed Approach Related Work Reconception of ADLs XTEAM Tool Chain Discussion Conclusion Future Work. Contributions.
E N D
Scenario-Driven Dynamic Analysis of Distributed Architectures Presented by: Thabet Kacem Spring 2010
Outline • Contributions • Introduction • Proposed Approach • Related Work • Reconception of ADLs • XTEAM Tool Chain • Discussion • Conclusion • Future Work
Contributions • Address the shortcoming of ADLs • Propose a new conception of ADL within MDE paradigm • Approach combines extensible modeling language within a framework enabling implementation of customized dynamic analysis at architectural level • Approach was implemented in XTEAM which helped to accommodate both new modeling features and new architectural styles
Introduction • Emergence of highly distributed, resource constrained and mobile computing environments • Consequence: Complexity of software development increased difficulties to cope with network latency, security & unpredictable network topology • Efforts went toward raising the level of abstraction for describing large scale software systems beyond OO concept • ADL emerged to provide the architect with a higher level of architectural constructs
Introduction • ADL has many problems: • Focus on structural elements • Rely on rigid formalisms • Many crucial aspects of a system cannot be expressed • MDE emerged as an approach to distributed software systems combining DSMLs with model transformers, analyzers and generators
Proposed Approach • The approach combines extensible modeling languages with a model interpreter framework for rapid implementation of dynamic analysis at arch level • Analysis provides information about the behavior & cross-cutting properties that help an architect to compare architectural alternatives and weigh tradeoffs • XTEAM: • Provides ADL extension for mobile systems • Implements a set of dynamic analysis on top of the model interpreter framework
Proposed Approach • Two requirements to success: • Extensibility of the language to accommodate new domain-specific concepts • Flexibility of tools to allow rapid implementation of new architectural analysis techniques
Related work • GME: tool implementing MDE paradigm that enables the creation of DSML and other related models
Related work • MILAN: compromises DSML for embedded systems based on a dataflow representation & a set of models to generate executable specs for simulation engines • Automates the synthesis of software implementation for system models • It provides highly accurate simulations • Drawback: suitable for signal processing systems but not efficient for large scale distributed architectures
Related work • WML &CUTS: it’s a DSML that enables dynamic analysis of component-based architectures • WML creates models that are transformed into XML-based inputs for CUTS • Drawbacks: • WML performs syntactic translation not semantic • The analysis is implemented in the emulator engine not the model interpreter • It does not capture component behavior
Related work • xADL: can accommodate new domain specific concepts. It is defined by XML schemas. • Core Schema: standard constructs to all ADLs • Extension Schema: new modeling elements that are written by domain experts • Drawback: xADL toolset is semantically agnostic then it cannot be extended to enforce semantic consistency
Related Work • FSP: a modeling notation for capturing the behavior of software architectural constructs • Allows construction of composite behavior • Drawback: It lacks research concerning the execution in heterogeneous environment, deployment and extensibility
Reconception of ADLs • Key shortcomings for arch. Based approaches to software modeling: • Inflexible notation with a narrow vocabulary • Supporting tools that enable only a limited set of analysis • Assumption: Shortcomings can be addressed by representing ADL via domain specific language DSML and performing arch. Analysis via model interpreter
Reconception of ADLs • Avoid the creation of ADL from scratch and use ADL composition and enhancement • These concepts are present in XTEAM • Model Interpreter framework allows the architect to implement custom analysis techniques without knowing details of semantic mapping • Use the ‘hook’ methods implemented by architect where objects are arch. constructs defined in ADL extensions
Reconception of ADLs • Two types of analysis techniques: • Static: relies on the formalism underlying models to provide info about system properties or possible errors • Problem: Difficulty that system implementation must match the model so that the analysis can be relevant • Dynamic: explores the behavior of the model-based arch. representations at runtime by executing them • It is more useful in comparing high level design possibilities early in the development cycle and don’t rely on the experience of the architect
XTEAM Tool Chain • XTEAM ADL: compose a structural ADL (xADL) with a behavioral ADL (FSP) • Creates execution architecture representation • Adds language extension to capture system change in order to help Model Interpreter to implement architectural analysis • Semantic mapping is done by the Model Interpreter
XTEAM Tool Chain • Domain Specific ADL extension: • Example: Energy consumption
XTEAM Tool Chain • Mobile Application testbed used to illustrate the energy consumption:
XTEAM Tool Chain • The energy consumption simulation generator allows to do some measurements that can be plotted in function of time
XTEAM Tool Chain • Many factors affect energy consumption: • Assignment of components to host or deployment architecture • Determining a dynamic redeployment strategy when consumption values differ from expected values • Many other ADL extensions exist in XTEAM: • End to end latency • Memory utilization • Component reliability
Discussion • Three cases where the approach is relevant • Providing design rationale • Weighing tradeoffs • Understanding compositions of Off-the-shelf components • Are these three cases enough to judge that the approach is reliable ? • Is implementing the approach in XTEAM sufficient to say the approach is correct ?
Conclusion • The paper presented a software arch-based approach to modeling & analysis of distributed architecture that leverage the domain specific extensibility provided by model-driven engineering • Approach addressed shortcomings of ADL • Deployed & evaluated on XTEAM • Considered as an improvement over traditional ADL and other MDE tools
Future Work • Use XTEAM in the context of real world security application in embedded & mobile devices • Integrate XTEAM with Desi and Prism-MW • Determine the exact class of analysis technologies