SynDEx is a system level CAD software based on the "algorithm- architecture adequation" (AAA) methodology, for rapid prototyping and optimizing the implementation of distributed real-time embedded applications onto "multicomponent" architectures. It has been designed and developed at INRIA in the Rocquencourt Research Unit France, by the AOSTE team.
- Rapid prototyping of complex distributed real-time embedded applications based on automatic code generation in three steps: 1) implementation onto a monoprocessor workstation for functional simulation, 2) implementation onto a multi-workstation in order to study parallelism benefits and to accelerate functional simulation, 3) real-time execution on the targetted multicomponent architecture: programmable components (processors) and non-programmable components (specific integrated circuits), all together connected through communication media (bus, links, switch)
- Automatic generation of safe and optimized real-time code thanks to formal verifications and exploration of possible implementations manually, or automatically with optimization heuristics
- Hardware/Software codesign through multicomponent architecture when some parts of the application must be implemented by software running on processors, while other parts must be implemented by hardware running on specific integrated circuits
- Interface with domain oriented specification languages such as the "synchronous languages" (Esterel, SyncCharts, Signal) providing formal verifications, AIL a language for automobile, Scicos a Simulink-like language (access to the Scicos-SynDEx gateway), AVS for image processing, CamlFlow a functional data-flow language, etc
- System level CAD tool offering a seamless software environment to help the user from the specification level (functional specifications, distributed hardware specifications, real-time and embedding constraints specifications) to the distributed real-time embedded code level, through (multi-)workstation functional and timing simulations
- Freeware, multi-platform (Windows, Linux, MacOS), full documentation (user manual, reference manual, and tutorial).
SimGrid is a toolkit that provides core functionalities for the simulation of distributed applications in heterogeneous distributed environments. The specific goal of the project is to facilitate research in the area of distributed and parallel application scheduling on distributed computing platforms ranging from simple network of workstations to Computational Grids.