Model-Driven Design-Space Exploration: The Octopus Toolset
Today’s embedded systems are rapidly becoming more complex. A systematic model-driven design trajectory is needed to provide high-quality, cost-effective systems. The Octopus toolset provides support to model, analyze and select appropriate design alternatives in the early phases of product development.
- 201609: Journal paper on trace analysis published in STTT (see publications)
- 201512: Performance engineering approach presented in PROMOTE2015 workshop
- 201409: Journal paper describing an architectural blueprint for performance modelling published in STTT (see publications)
- 201209: FORMATS 2012 keynote by Twan Basten on MDDSE and the Octopus toolset (see publications)
- 201111: EUC 2011 paper explains how to handle uncertainty in trade-off analysis (see publications)
- 201105: SAMOS 2011 paper details the Octopus vision (see publications)
- 201012: SDF3 dataflow analysis tool connected
- 201010: Website on-line
- Leveraging combined strengths of methods and tools
- Flexible, open, extensible set of tools
- Targeting the high-tech embedded systems domain
- Reuse of tools across application domains
- High-level modeling of design alternatives
- Reuse and consistency of models across tools
- Functional verification and performance analysis
- (Semi-)automatic exploration and synthesis
- Methodological and communication support for designers
An important challenge in the early stages of the design of embedded systems are the many design possibilities that need to be considered. The design spaces usually involve multiple metrics of interest (timing, resource usage, energy usage, cost, etc.) and multiple design parameters (e.g. the number and type of processing cores, sizes and organization of memories, interconnect, scheduling and arbitration policies, etc.). The relation between design choices on the one hand and metrics of interest on the other hand is often very difficult to establish, due to aspects such as concurrency, dynamic application behavior, and resource sharing. No single modeling approach or analysis tool is fit to cope with all the challenges of modern embedded-system design.
The Octopus toolset supports model-driven design-space exploration (DSE) during the early phases of system design. It aims to support:
1) high-level modeling based on a clear separation of application, platform, and the application-to-platform mapping,
2) formal analysis of functional correctness and performance, and
3) (semi-)automatic exploration of alternatives and synthesis of optimized designs.
The toolset follows the Y-chart approach to DSE, and it is centered around the DSE Intermediate Representation (DSEIR) that is specifically designed to support Y-chart-based DSE. The toolset architecture allows
1) easy reuse of models between different tools, while providing model consistency,
2) the systematic and combined use of different tools, and
3) domain-specific abstractions to support different application domains and easy reuse of tools across domains.
The Y-chart: Design-space exploration typically involves the co-development of an application, a platform, and the mapping of the application onto the platform. Diagnostic information is used to (semi-automatically) improve application, platform, and/or mapping.
Kienhuis et al. A Methodology to Design Programmable Embedded Systems. The Y-Chart Approach. LNCS 2268. Springer. 2002.