Model-Driven Analysis Frameworks for Embedded Systems

Slides:



Advertisements
Similar presentations
Object-Oriented Application Frameworks Much of the cost and effort stems from the continuous re- discovery and re-invention of core concepts and components.
Advertisements

Ch:8 Design Concepts S.W Design should have following quality attribute: Functionality Usability Reliability Performance Supportability (extensibility,
Programming Languages for End-User Personalization of Cyber-Physical Systems Presented by, Swathi Krishna Kilari.
Architecture Representation
Software Architecture in Practice (3 rd Ed) Understanding Quality Attributes Understanding the following: How to express the qualities we want our architecture.
Presented by: Thabet Kacem Spring Outline Contributions Introduction Proposed Approach Related Work Reconception of ADLs XTEAM Tool Chain Discussion.
Software Architectures and Embedded Systems Nenad Medvidovic with Sam Malek and Marija Mikic-Rakic Computer Science Department University of Southern California.
Creating Domain-Specific Development Infrastructures George Edwards Computer Science Department University of Southern California.
Software Architecture for DSD DSD Team. Overview What is software architecture and why is it so important? The role of architecture in determining system.
Software Testing and Quality Assurance
Automated Analysis and Code Generation for Domain-Specific Models George Edwards Center for Systems and Software Engineering University of Southern California.
A Model-Driven Framework for Architectural Evaluation of Mobile Software Systems George Edwards Dr. Nenad Medvidovic Center.
1 Software Architecture: a Roadmap David Garlen Roshanak Roshandel Yulong Liu.
XTEAM: Architecture-Based Modeling and Analysis Tools with Metamodeling Nenad Medvidovic George Edwards
CS350/550 Software Engineering Lecture 1. Class Work The main part of the class is a practical software engineering project, in teams of 3-5 people There.
XTEAM: Automated Synthesis of Domain-Specific Code Generators George Edwards Introduction to the Center for Systems and Software Engineering.
Reuse Activities Selecting Design Patterns and Components
CoDesign A Highly Extensible Collaborative Software Modeling Framework SoftArch, USC March, 2010 Jae young George.
Chapter 10: Architectural Design
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
Architectural Design.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse.
Katanosh Morovat.   This concept is a formal approach for identifying the rules that encapsulate the structure, constraint, and control of the operation.
An Introduction to Software Architecture
Software Models (Cont.) 9/22/2015ICS 413 – Software Engineering1 -Component-based software engineering -Formal Development Model.
Architecture-Based Runtime Software Evolution Peyman Oreizy, Nenad Medvidovic & Richard N. Taylor.
Introduction to MDA (Model Driven Architecture) CYT.
Assessing the Suitability of UML for Modeling Software Architectures Nenad Medvidovic Computer Science Department University of Southern California Los.
Copyright © Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved. Implementing Architectures Software Architecture.
SOFTWARE DESIGN.
Model-Driven Analysis Frameworks for Embedded Systems George Edwards USC Center for Systems and Software Engineering
Modeling and simulation of systems Model building Slovak University of Technology Faculty of Material Science and Technology in Trnava.
Abstract We present two Model Driven Engineering (MDE) tools, namely the Eclipse Modeling Framework (EMF) and Umple. We identify the structure and characteristic.
1 Introduction to Software Engineering Lecture 1.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 11 Slide 1 Design.
Chapter 10 Analysis and Design Discipline. 2 Purpose The purpose is to translate the requirements into a specification that describes how to implement.
Modeling Component-based Software Systems with UML 2.0 George T. Edwards Jaiganesh Balasubramanian Arvind S. Krishna Vanderbilt University Nashville, TN.
A Context Model based on Ontological Languages: a Proposal for Information Visualization School of Informatics Castilla-La Mancha University Ramón Hervás.
Verification of behavioural elements of UML models using B Truong, Ninh-Thuan and Souquieres, Jeanine In Proceedings of the 2005 ACM Symposium on.
FDT Foil no 1 On Methodology from Domain to System Descriptions by Rolv Bræk NTNU Workshop on Philosophy and Applicablitiy of Formal Languages Geneve 15.
Architecture Analysis Techniques
Software Deployment and Mobility. Introduction Deployment is the placing of software on the hardware where it is supposed to run. Redeployment / migration.
MODEL-BASED SOFTWARE ARCHITECTURES.  Models of software are used in an increasing number of projects to handle the complexity of application domains.
Department of Computer Science University of Southern California Los Angeles, CA, USA George Edwards Nenad Medvidovic
Chapter 5 System Modeling. What is System modeling? System modeling is the process of developing abstract models of a system, with each model presenting.
February 19, February 19, 2016February 19, 2016February 19, 2016 Azusa, CA Sheldon X. Liang Ph. D. Software Engineering in CS at APU Azusa Pacific.
Improving System Availability in Distributed Environments Sam Malek with Marija Mikic-Rakic Nels.
George Edwards Computer Science Department Center for Systems and Software Engineering University of Southern California
Advanced Computer Systems
Review of last class Software Engineering Modeling Problem Solving
CIM Modeling for E&U - (Short Version)
Presented by Munezero Immaculee Joselyne PhD in Software Engineering
Software Architecture & Design Pattern
Embedded Systems Hardware/ Software Co-Development
CSE 303 – Software Design and Architecture
The Extensible Tool-chain for Evaluation of Architectural Models
Component-Based Software Engineering: Technologies, Development Frameworks, and Quality Assurance Schemes X. Cai, M. R. Lyu, K.F. Wong, R. Ko.
Chapter 5 Designing the Architecture Shari L. Pfleeger Joanne M. Atlee
Component-Based Software Engineering
The Extensible Tool-chain for Evaluation of Architectural Models
Software Architecture
Chapter 20 Object-Oriented Analysis and Design
Implementing Architectures
An Introduction to Software Architecture
Chapter 9 Architectural Design.
Introduction to Pattern Oriented Analysis and Design (POAD)
Automated Analysis and Code Generation for Domain-Specific Models
Presented By: Darlene Banta
UML Design for an Automated Registration System
Presentation transcript:

Model-Driven Analysis Frameworks for Embedded Systems George Edwards USC Center for Systems and Software Engineering gedwards@usc.edu

Presentation Outline Embedded Systems Model-Driven Engineering 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 Metamodels define 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 the analysis modeling constructs Discover the semantic relationships between the constructs present in the architectural models and those present in the analysis models Determine the compatibility between the assumptions and constraints of the architectural models and the analysis models, and resolve conflicts Implement a model interpreter that executes a sequence of operations to transform an architectural 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 Module 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

Modeling in XTEAM

XDEVS Simulation Framework Invoke the architect-defined framework extension at each extension point Apply domain-specific semantics at each extension point Traverse the model Interpret each object based on type and context 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

Visit the XTEAM website: 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.