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