Title: ModelIntegrated Development of Embedded Software
1Model-Integrated Development of Embedded Software
- CSCI 589 Eunyoung Song October 16th, 2007
Written by Karsai, Sztipanovits, Ledeczi, and
Bapty
2Overview
- Concepts of Model-Integrated Computing
- Modeling and Metamodeling
- Model-based generator implementation
- Related Work
- Relevance to Embedded Software
- Strengths of the Paper
- Weaknesses of the Paper
3Model-Integrated Computing (MIC)
- Based on models and generation
- Provides a flexible framework
- Fully adopts model-based development paradigms
- Introduces modeling languages
- Should be modeled using domain-specific modeling
languages (DSML) - Has built-in extension mechanism
4Overview of MIC
- High-performance digital signal processing (HDSP)
- Require high throughput and high degree of
flexibility in the architecture - Model
- Formal structure representing selected aspects of
the engineering artifact and its environment - 1) The hardware architecture aspect
- 2) The signal-flow aspect
- 3) The environment aspect
5Fig. 1 Example HDSP models
6Model-integrated development system
- Modeling of the system and its environment, from
multiple, interacting aspects - Automated synthesis of design models to
accelerate the modeling process - Analysis of the system using analysis /simulation
tools, which may necessitate model
transformations - Generation of the executable system using
generator tools
7Modeling (1/3)
- A. Domain-Specific Modeling Languages
- Declarative
- Use domain-specific symbols
- Have a restricted yet precise semantics
- Approaches to modeling
- Utilize a single modeling language, designed for
software modeling (UML) - Tailor the single language to the needs of a
specific domain, introduce domain-specific
modeling language (MIC)
8Modeling Abstract Syntax
to define the data structures that can represent
our models
9Modeling Concrete Syntax and Syntactic Mapping
Concrete syntax captures how they can be rendered
for human interaction or for machine-to-machine
communication
10Modeling Semantic Domain and Semantic Mapping
The role of semantics is to describe the
properties of models
11Modeling (2/3)
- B. Composition of Metamodels and Models
- Metamodel Composition
- Model Composition
- Abstraction
- Modularization
- Interfaces and ported components
- Multiple aspects
- references
12Modeling (3/3)
- C. Tools for Domain-Specific Modeling
- Metaprogrammable generic modeling environment
(GME) - configurable environment to create
domain-specific environments - configurable visual model editor and database
manager - Metaprogrammable translator framework
13Fig. 10 GME architecture
14Metamodel
- Formal model of DSML.
- Describes the syntax, semantics and presentation
information of a modeling language using UML, OCL
and aspects.
15Model Synthesis and Generative Modeling
- Compositional Modeling
- Building complex model by composing components is
efficient modeling. - In embedded system, many physical properties are
not composable - Model Synthesis
- Model synthesis can be formulated as a search
problem. - Fully automated synthesis is a hard problem
- Top-down engineering designing processes
16Model-Based Generators (1/2)
- The role of Generator
- To translate models into the input language of
analysis tools - To translate the analysis results back into the
modeling language - To translate models executable into code, static
data-structures, component configurations,
customized generic components.
17Model-Based Generators (2/2)
- Techniques for Building Generators
- Direct implementation the output product can be
directly produced from the input tree - Pattern-based approach implemented in a more
structured way by using the Visitor design
pattern - Metagenerators mathematically precise modeling
of the generators working and the generation of
the code of the generator from that model
18Related Work (1/2)
- Aspect-Oriented Programming
- Decomposition concept
- Provide better run-time performance
- GenVoca
- Generator technology
- Performs automated composition
- Resides between AOP and MIC
- Based on a design-space definition
19Related Work (2/2)
- Intentional Programming (IP)
- From the conventional to a domain-specific
activity - Defining and implementing transformer is a
crucial issue - Model-Driven Architecture and Model
Transformations - MDA is developed my OMG.
- Specification model, implementation model
- Lends itself to transformational approaches
- Tends to utilize UML for modeling
20Conclusion
- In MIC, DSMLs play a key role in the creation,
manipulation, and transformation of the models. - Metamodeling approach is extremely powerful
- Careful upfront analysis of the domain
21Relevance to Embedded Software
- Modeling and model-based approaches play a
central role in embedded software - Embedded software development is based on
domain-specific, multiple-view models used in all
phases of the development process - Examples of real systems illustrate how the
model-integrated approach addresses the dynamic
structure of embedded software. - MIC provides a flexible framework to address
essential needs of embedded software development.
22Strengths of the approach
- This paper present the specific concepts about
the model-integrated computing. - It shows the examples to explain the modeling
method. - This paper shows the capability of the tools
supporting the process.
23Weaknesses of the approach
- Developing metamodel is not always hard
- Well-understood domain developing is not hard
- Have a possibility of reuse of the development
- Impact of Metamodel change is not always
powerful - Sometimes cause severe problem
- Rare possibility of metamodel change
24References
- T. Bapty, J. Gray, S. Neema. Constraint-Based
Embedded Program Composition. Institute for
Software Integrated Systems, Vanderbilt
University, Feb. 2 2001 - G. Karsai, J. Sztipanovits, A. Ledeczi, T. Bapty.
Model-integrated development of embedded
software. In Proceedings of the IEEE, Volume 91,
Issue 1, Jan. 2003 Page(s)145 164. - Model-integrated Computing. http//www.isis.vander
bilt.edu/research/research.htmlMIC
25Questions?