160 likes | 457 Views
Model-Driven Analysis Frameworks for Embedded Systems. George Edwards USC Center for Systems and Software Engineering gedwards@usc.edu. Presentation Outline. Embedded Systems Modeling Analysis Model-Driven Engineering Domain-specific languages Model interpreters
E N D
Model-Driven Analysis Frameworks for Embedded Systems George Edwards USC Center for Systems and Software Engineering gedwards@usc.edu
Presentation Outline • Embedded Systems • Modeling • Analysis • Model-Driven Engineering • Domain-specific languages • Model interpreters • Challenge: Performing Analysis on Domain-Specific Models • Promising Solution: Model Interpreter Frameworks • XTEAM • Modeling environment • Discrete event simulation framework • Conclusions
Modeling Embedded Systems • Diversity and heterogeneity • Different operating platforms • Wide varieties of scale • Result: no “one-size-fits-all” modeling language • Close and continual interaction with the physical environment and electrical, mechanical, and biological systems • Result: models need to incorporate elements of these systems • Strict operating requirements • Result: models need to be analyzable, executable
Analysis of Embedded Systems • Quality attributes are system properties that describe how services are performed • Also called non-functional or quality-of-service properties • Evaluation of quality attributes is critical in meeting overall end-user operational goals • Modification of a system that does not meet quality attribute requirements is difficult and expensive • Overall goal: Quantitatively and objectively evaluate quality attributes during system design to arrive at a better overall system
Model-Driven Engineering • Model-driven engineering (MDE) combines domain-specific modeling languages with model analyzers, transformers, and generators • Metamodelsdefine elements, relationships, views, and constraints • Model interpreters leverage domain-specific models for analysis, generation, and transformation
Challenge: Constructing Interpreters Model Interpreter Implementation Tasks Find a computational theory that derives the relevant properties Determine the syntax and semantics of theanalysis modeling constructs Discover the semantic relationships betweenthe constructs present in the architecturalmodels and those present in the analysismodels Determine the compatibility between theassumptions and constraints of the architecturalmodels and the analysis models, and resolveconflicts Implement a model interpreter that executes asequence of operations to transform anarchitectural model into an analysis model Verify the correctness of the transformation • Using the standard MDE process, a model interpreter must be constructed for each analysis that will be applied to a model • Significant investment of effort • Constructing and maintaining DSMLs and interpreters is difficult and expensive • Little guidance exists on how to construct DSMLs and interpreters • Requires particular type of expertise • Common topic of research papers in the modeling community
Solution: Model Interpreter Frameworks • Use a model interpreter framework to implement domain-specific analysis • An infrastructure for automated construction of analysis models from domain-specific architectures • Leverages the commonality among domain-specific architectural modeling languages • Provides extension mechanisms to accommodate domain-specific analysis and platform-specific synthesis • Enables a family of analytic techniques to be applied to an architectural model
Role of MIFs • Abstracts the details of domain-independent interpretation • Allows engineers to implement domain-specific interpretation • Produces an artifact useful in a wide variety of contexts
MIF Extensibility • Language Extensions • Permit the definition of new domain-specific constructs • Design approach: define a new class that implements the semantics of each new type • Example: middleware component models, reference architecture types • Module Extensions • Permit the replacement of core simulation algorithms and functions • Design approach: modularize each algorithm and abstract algorithms behind standard interfaces • Examples: Real-time scheduling, publish-subscribe services • Plug-in Extensions • Permits implementation of domain-specific analysis techniques • Design approach: create hooks where call-backs occur • Examples: resource utilization monitor, stochastic workload generator
The eXtensible Toolchain for Evaluation of Architectural Models • A modeling environment and accompanying set of model interpreter frameworks for software architectures • Consists of: • A specialized metamodeling language • A suite of model interpreter frameworks • Example extensions targeted towards resource-constrained and mobile computing environments • Provides the extensibility to easily accommodate both new modeling language features and new architectural analyses
XDEVS Simulation Framework Interpret each object based on type and context Apply domain-specific semantics at each extension point Invoke the architect-defined framework extension at each extension point Traverse the model • Implements a mapping from architectural models to a discrete event simulation (DEVS) model
XDEVS Framework Extensions • Employs the Strategy pattern to implement domain-specific extensions • Each Concrete Strategy generates code to realize a particular analysis • Invoked at specific times during the interpretation process • Generated code calculates and records analysis results
XDEVS Applications • Providing design rationale • Weighing architectural trade-offs • Discovering emergent behavior of component assemblies • Generating test cases and validating component implementations
Conclusions • Lack of automated mechanisms for applying model transformations to and performing analysis on domain-specific models • Our methodology leverages extensible frameworks to simply the analysis of embedded systems
For More Information Visit the XTEAM website: http://www-scf.usc.edu/~gedwards/xteam.html XTEAM Publications: 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.