|
CS
388 : Model Integrated Computing
TR 4:00-5:15
Instructor: Janos Sztipanovits, Gabor Karsai, Sandeep
Neema
The goal of this course is
to provide an introduction to Model-Integrated Computing, a comprehensive
approach to model-based design. Model-based design is based on the precise
representation, composition, and manipulation of models during the design
process. Models are typically domain-specific, offering embedded system
designers methods and syntaxes that are closer to their application
domain. Model-based design methods of embedded systems emphasize
concurrency, communication abstractions, and temporal properties, rather
than only procedural interfaces. For example, domain-specific models for
embedded systems might represent physical processes using ordinary
differential equations, signal processing using dataflow models, decision
logic using finite-state machines, and resource management using
synchronous models. Model-based design methods address system
specification, model transformation, synthesis of implementations, model
analysis and validation, execution, and design evolution.
This introductory course in
Model-Integrated Computing will discuss the core principles, methods and tools for
model-based design and provides a practical introduction for participants
using the Model-Integrated Computing (MIC) tool suite developed at the
Institute for Software Integrated Systems at Vanderbilt University.
The course will cover the
following topics:
- Design approaches for embedded systems and
software.
- System and software platforms.
- Model of Computations
- System-level modeling languages and
domain-specific modeling.
- Design of modeling languages and metamodeling
- Model transformations and metagenerators
- Design space exploration
- Case studies for MIC – based development
of embedded software systems
Prerequisites
- Basic
Java and/or C++ programming.
Requirements
Students in the class will
be required to complete the following tasks:
- Weekly reading (assigned by Instructors ) and
participation in discussions (20% of grade)
- Problem solving using the tutorials of MIC
tools (20% of grade)
Class
project (60% of grade)
Course Outline
|
Week
|
Contents
|
Assignment
|
|
Week 1
08/25-09/02
|
Introduction and Overview
HW and SW Platforms for embedded systems
|
Reading
|
|
Week 2
09/06-09/09
|
Introduction to Modeling Languages
Design of Domain Specific Modeling Languages
(DSML): Metamodeling Using UML class diagrams
and OCL
|
Reading
|
|
Week 3
09/12-09/16
|
System-Level
Modeling Languages: SySML, SPT Metamodeling techniques using GME
|
GME Tutorial
GME Practice
|
|
Week 4
09/19-09/23
|
Design of simple modeling environments
|
GME Practice
|
|
Week 5
09/26-10/01
|
Project discussion and project assignment
|
Reading
Proposal
|
|
Week 6
10/03-01/07
|
Abstract State Machines and AsmL
Semantics of DSML-s
|
AsmL
Tutorial
AsmL
Practice
|
|
Week 7
10/10-10/14
|
Specification of Operational Semantics in AsmL
|
Case
Studies
|
|
Week 8
10/17-10/21
|
Model Transformations
Implementing model
transformations via model interpretation
|
Reading
GME
Tool Practice
|
|
Week 9
10/24-10/28
|
Model Transformation via
graph transformations
GReAT
|
GReAT
Tutorial
|
|
Week 10
10/31-11/04
|
Generating code from models: principles
Anatomy of a code generator using GReAT
|
Reading
GReAT
Practice
|
|
Week 11
11/07-11/11
|
Semantic Anchoring of DSML-s
Case studies
Composition of DSML-s
|
Reading
Semantic
Anchoring
Practice
|
|
Week 12
11/14-11/18
|
Design Space Exploration
Constructing and pruning design spaces using
DESERT
|
Reading
Case
Study
|
|
Week 13
11/28-12/02
|
Project presentations
|
Presentations
and
Report
|
|
Week 14
12/05-12/09
|
Project presentations
|
Presentations and Report
|
|