Download presentation
Presentation is loading. Please wait.
1
XTEAM: Architecture-Based Modeling and Analysis Tools with Metamodeling Nenad Medvidovic neno@usc.edu George Edwards gedwards@usc.edu george@bluecellsoftware.com Computer Science Department University of Southern California Blue Cell Software Los Angeles, CA
2
XTEAM Project Processes, notations, tools, and designs that enable automated synthesis of domain-specific toolsets for architecture modeling, analysis, and code generation Example application areas: –Embedded and real-time systems –Safety- and mission-critical systems –Cloud and grid systems
3
XTEAM Capabilities Metamodeling Domain-specific language definition Architecture modeling System design and requirements definition System simulation and code generation Design and requirements analysis procedure Chunker.NextChunk(this: ref where $IsNotNull(this, Chunker)) returns ($result: ref where $IsNotNull($result, System.String)); // in-parameter: target object free requires $Heap[this, $allocated]; requires ($Heap[this, $ownerFrame] == $PeerGroupPlaceholder || !($Heap[$Heap[this, $ownerRef], $inv] $Heap[$pc, $inv] == $typeof($pc) && $Heap[$pc, $localinv] // out-parameter: return value free ensures $Heap[$result, $allocated];
4
XTEAM Collaboration Real-time distribution of model updates Automatic checks for consistency Conflict notification and resolution
5
XTEAM Use Cases Providing design rationale and feasibility evidence Weighing architectural trade-offs Discovering emergent behavior of component assemblies Testing component implementation prototypes 5
6
Domain-Specific Languages (DSLs) Customized for a particular family of problems (the domain) Concise and intuitive –No missing or extra features –Capture patterns –Enforce constraints –Use native symbols and terms Can be modified, evolved, and composed
7
Model-Based Systems Engineering using DSLs DSLs for requirements and architecture modeling and analysis –Metamodels define DSL syntax –Model interpreters define DSL semantics COTS tools provide only partial support for DSLs –Metamodel editor with built-in metamodeling language –Metamodel interpreter that configures metaprogrammable model editor Metamodel Editor Metaprogrammable Model Editor Model Execution Environment (Semantic Domain) Metamodel Interpreter Model Interpreter Off-the- shelf Auto generated Built by engineer Domain- Specific Model Metamodel Metamodeling Language Domain-Specific Language Executable Model
8
“The difficulty of building and maintaining a DSM solution stems essentially from the complexity of the mapping between the concept instances expressed in the DSML and the code that has to be generated.” A. L. Santos et al. Automating the Construction of Domain-Specific Modeling Languages for Object-Oriented Frameworks. Journal of Software and Systems, 2010. “The difficulty of building and maintaining a DSM solution stems essentially from the complexity of the mapping between the concept instances expressed in the DSML and the code that has to be generated.” A. L. Santos et al. Automating the Construction of Domain-Specific Modeling Languages for Object-Oriented Frameworks. Journal of Software and Systems, 2010. Problems with MBSE using DSLs Building and maintaining code generators for DSLs is inherently difficult –High design complexity –Disproportionate maintenance and evolution costs –Hard to verify correctness –Redundant development effort –Opaque semantics embedded in source code “There is a fundamental problem in keeping the model interpreters up to date with metamodel changes... Current practice requires each model interpreter to be modified manually after each metamodel schema change. This can be a very time-consuming and error prone task for complex model interpreters of considerable size.” Jing Zhang. Metamodel-Driven Model Interpreter Evolution. Conference on Object Oriented Programming Systems Languages and Applications, 2005. “There is a fundamental problem in keeping the model interpreters up to date with metamodel changes... Current practice requires each model interpreter to be modified manually after each metamodel schema change. This can be a very time-consuming and error prone task for complex model interpreters of considerable size.” Jing Zhang. Metamodel-Driven Model Interpreter Evolution. Conference on Object Oriented Programming Systems Languages and Applications, 2005. “Checking mathematical properties like correctness or completeness of transformations based on common programming languages is very difficult...” I. Malavolta, H. Muccini, P. Pelliccione, and D. Tamburri. Providing Architectural Languages and Tools Interoperability through Model Transformation Technologies. IEEE Transactions on Software Engineering, 2009. “Checking mathematical properties like correctness or completeness of transformations based on common programming languages is very difficult...” I. Malavolta, H. Muccini, P. Pelliccione, and D. Tamburri. Providing Architectural Languages and Tools Interoperability through Model Transformation Technologies. IEEE Transactions on Software Engineering, 2009. “The state-of-the-art of model interpreter writing needs to be advanced to enhance the reusability and maintainability of this software...” G. Karsai. Structured Specification of Model Interpreters. Engineering of Computer-Based Systems, 1999. “The state-of-the-art of model interpreter writing needs to be advanced to enhance the reusability and maintainability of this software...” G. Karsai. Structured Specification of Model Interpreters. Engineering of Computer-Based Systems, 1999. “Writing translators by hand... in addition to being inefficient, has yet another serious drawback: the semantic mapping between the input and the output is vaguely specified...[Building model interpreters] is the most time consuming and error prone phase of the MIC approach...” G. Karsai, A. Agrawal, F. Shi, J. Sprinkle. On the Use of Graph Transformation in the Formal Specification of Model Interpreters. Journal of Universal Computer Science, 2003. “Writing translators by hand... in addition to being inefficient, has yet another serious drawback: the semantic mapping between the input and the output is vaguely specified...[Building model interpreters] is the most time consuming and error prone phase of the MIC approach...” G. Karsai, A. Agrawal, F. Shi, J. Sprinkle. On the Use of Graph Transformation in the Formal Specification of Model Interpreters. Journal of Universal Computer Science, 2003.
9
FCS: A Real World Example DSL with hundreds of types –Modified on a daily basis Automated generation of: –Discrete event simulations –Middleware configuration files –Fault trees –Spreadsheets for documentation Tool building and maintenance required approximately five full-time MDE experts
10
Synthesize domain-specific code generators using the same mechanisms that have proven successful for synthesizing domain-specific model editors. XTEAM Solution Approach Metamodel Editor Metamodel Metamodel Interpreter A Model Editor Framework Metamodel Interpreter B Code Generator Framework Target Platform Application Model (Abstract Representation) Application Model (Abstract Representation) Executable Code Executable Code Target Display Visualized Model
11
Selected Applications of XTEAM MIDAS: wireless sensor network (WSN) applications for building monitoring and control RoboPrism: analysis, implementation, deployment, and monitoring framework for mobile robotics systems SASSY: automated run-time generation of service-oriented architectures RESIST: dynamic reliability estimation and proactive adaptation in situated software systems FUSION: self-tuning self-adaptive software systems PATFrame: predictive tools for UAS T&E
12
Proposed Next Step: Model Checking Used to verify requirements and design –Safety, security, and other properties –Successfully used in real-time and embedded systems Existing model checkers do not provide metamodeling Well-known tools: SPIN/dSPIN, SMV, Java Pathfinder/JPF
13
Planned Research Approach Refine the XTEAM metamodeling language –Include sufficient semantic information for mapping to model checking input Implement metaprogrammable model checker –Metamodel interpreter –Model interpreter framework Define Metatypes Develop Components Define/refine core architectural metatypes Embed semantic assumptions in metatypes Attach semantic properties to metatypes Implement model interpreter framework Implement metamodel interpreter
14
Semantic Definitions Embedded semantic assumptions –Independent of the metamodel –Capabilities Behaviors that metatypes exhibit by default –Responsibilities Information required to map metatypes to the semantic domain Semantic properties –Capture semantic variability among metamodels –Values map to a semantic configuration
15
Outcome and Benefits End product: MBSE toolset with model checking and metamodeling capabilities –DSLs: customizable, concise, intuitive modeling –Model checking: formal verification of requirements and design –No model interpreter development Generally 4 person-months to 24 person-months of effort –Predictable cost and timeline for tool development Less risk than a conventional DSL tool chain
16
Conclusions Ready-to-use tool exists today –Metamodeling and DSL definition –Architecture modeling –Discrete event simulation Future plans –Model checking –Enhanced real-time collaboration –Automated composition of metamodels
17
Additional Information XTEAM Website: http://softarch.usc.edu/~gedwards/xteam.html http://softarch.usc.edu/~gedwards/xteam.html Papers: –George Edwards and Nenad Medvidovic, Model Interpreter Frameworks, Technical Report USC-CSSE-2009-514, Center for Software and Systems Engineering, Univ. of Southern California, July 2009. –George Edwards and Nenad Medvidovic, A Highly Extensible Simulation Framework for Domain-Specific Architectures, Technical Report USC-CSSE-2009-511, Center for Software and Systems Engineering, University of Southern California, May 2009. –George Edwards and Nenad Medvidovic, A Methodology and Framework for Creating Domain-Specific Development Infrastructures, Proceedings of the 23rd IEEE ACM International Conference on Automated Software Engineering (ASE), September 2008. –George Edwards, Chiyoung Seo, and Nenad Medvidovic, Model Interpreter Frameworks: A Foundation for the Analysis of Domain-Specific Software Architectures, Journal of Universal Computer Science (JUCS), Special Issue on Software Components, Architectures and Reuse, 2008. –George Edwards, Chiyoung Seo, and Nenad Medvidovic, Construction of Analytic Frameworks for Component- Based Architectures, Proceedings of the Brazilian Symposium on Software Components, Architectures and Reuse (SBCARS), August 2007. –George Edwards, Sam Malek, and Nenad Medvidovic, Scenario-Driven Dynamic Analysis of Distributed Architectures, Proceedings of the 10th International Conference on Fundamental Approaches to Software Engineering (FASE), March 2007.
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.