Contents


Metropolis Home
Overview
  Metamodel
  Tools
  Design Methodologies
  Platform-Based Design
  Wiki
Publications
 
  4/07 IEEE Article
  4/03 IEEE Article
  6/02 GSRC Presentations
  People
  Polis
  Search
Members
  src
  Private Forum

Metropolis: Design Environment for Heterogeneous Systems


Tool Support

The meta model serves as input for all the tools built in Metropolis. The meta model files are parsed and turned into an Abstract Syntax Tree (AST) by the metropolis frontend. Tools are written as back-ends that operate on the AST, and either output results or modified meta model code.

One tool of particular importance is a metamodel simulator. A simulator is developed for an executable language. It first parses the meta model and provides an implementation of each construct of our model using primitives of the language so that the result is semantically compatible. This is then simulated by a simulator of the language. As an example, we have developed a based on System C 2.0 that is semantically compatible with the metamodel semantics. It synthesizes SystemC code from the model's AST, which is then compiled and executed. We are also currently developing a simulator written directly in C++. As with VCC, the meta model can be annotated with performance information generated from the architecture specification, so that the same simulator can be used to conduct performance simulation for mapped functions.

The Toolset

We break the tools into three categories: Simulation, Synthesis, and Analysis and Verification. All tools take the form of a Metropolis backend that interprets designs specified in the metamodel language and parsed by the front-end into an abstract syntax tree.

Simulation

Metropolis SystemC Simulator -

Synthesis

Communication Synthesis -
Interface Synthesis -
Quasi-Static Scheduling -

Analysis and Verification

LOC-Checker/Monitor
SPIN Interface
Refinement Verification
Prometheus Timing Verification
 
Contact 
©2002-2018 U.C. Regents