Component-Based Digital Simulation

Jimmy Zhang


Objective

The objective of this project is to prototype a component-based digital simulation enviroment using Java. Traditionally, a digital simulator is created by mapping the behavior of the entire digital system into machine-dependent executable program. In our new approach, we break up the top level digital system into many smaller function blocks hierarchically: the behavior of each block is encapsulated into a design object called component. The complete simulation at the top level can be viewed as many self-simulating components concurrently interacting with each other at their own level of abstraction. Because of its inherent modularity and distributability, the simulation enviroment based on our new approach excels the traditional single-simulator approach in terms of the adaptiveness to the rapid-evolving design style and the newly-emerging business model. In addition, our approach could potentially improve the simulation performance via the efficient leverage of the numerous computing resources across the network. Java is the language of our choice, for it provides a platform-independent software enviroment for distributed systems.

After researching many papers and journals of related topics, I have set up a small scale component-based simulation enviroment with the assumption that all the components would stay within one machine. For the next three months, I will be implementing a networked version which distributes components on different machines. Also, I will look into the possibilities of creating a visual component constructor.

A detailed description of the overall goals and deliverables planned in this project can be found at http://www-cad.eecs.berkeley.edu/~zhengyu/arpa_report2.html


Progress Achieved

In the past three months, I have made progress on several areas which include:


Future Plans and Projected Milestones

The coming quarter will be divided into two phases. During the first phase, a distributed version of component-based simulation enviroment will be constructed based upon the current working demo. More components will be built; in particular, there will be a new type "dummy component" designed to handle the remote component interaction. During the second phase, I will start writing a GUI component constructor which offers click-button generation of byte-code level components either from scratch or on top of some other existing components. A front end which visualizes the back-end simulation process is tentative depending on the time constraint.


12/22/1996
Jimmy Zhang <zhengyu@eecs.berkeley.edu>