DIPLODOCUS
DIPLODOCUS stands for DesIgn sPace exLoration based on fOrmal Description teChniques, Uml and SystemC.Basically, DIPLODOCUS targets the partitioning of Systems-on-Chip. Partitioning a system means finding the best candidate software and hardware architecture for executing a set of functions. This selection of architecture is thus made according to given criteria, e.g., cost, power consumption, performance, safety, security, etc..
DIPLODOCUS supports the Y-Chart approach, i.e., the partitioning is done as follows:
- Application modeling: functions of the system are first modeled. Functions might later be software or hardware implemented.
- Architecture modeling: candidate hardware architectures are modeled in terms of parametrized nodes: execution nodes (CPU, hardware accelerators), communication nodes (buses, bridges) and storage nodes (memories).
- Mapping modeling: functions are mapped onto a given candidate architecture, i.e. functions are allocate dto either CPUs or hardware accelerators, and communication between functions are allocated to communication and storage nodes.
Moreover, DIPLODOCUS works at a high level of abstraction, and offers non-deterministic operators: this is thus very fast to model a first system, and evaluate different mappings for these functions. Moreover, all is graphical (UML)! Last but not least, formal proofs and performance evaluation by simulation can be done at the push of a button, directly from UML diagrams.
Short presentation
- Slides on DIPLODOCUS
Resources
How to start?
- You may start by reading the tutorial on DIPLODOCUS. This tutorial uses the Zigbee model.
Technical papers
- A UML-based Environment for System Design Space Exploration. First paper published on DIPLODOCUS
- Technical report on the comparison betweeen the Diplodocus method (the Psi-Chart) and the Y-Chart
Presentations
Examples of DIPLODOCUS models
Open TTool, then go to the "File" menu, "Open project from TTool repository". Then, in the drop list, select "diplodocus".Configuration
If you wish to:- Make formal proofs from your DIPLODOCUS application models, you need to install and configure UPPAAL
- Make proofs of security properties from AVATAR models, you need to install and configure ProVerif
- Simulate your DIPLODOCUS models, you need to install and configure gcc
- Visualize simulation traces in VCD format, you need to install and configure GTKWave