Welcome to IDeSyDe’s documentation page! Here you can find some quick links to help you navigate the documentation and also to situate you about the tool (and its methods).

IDeSyDe is a generic tool for the Design Space Exploration activity within a Model-Driven Engineering (MDE) Process such as ForSyDe. In particular, the tool primarily targets embedded systems MDE processes, but is not limited to them.

The key underlying concept of IDeSyDe is Design Space Idenfitication. This concept give a foundation for separating mathematical formulations and algorithms commonly involved in synthesis and analysis within MDE processes from the system models it operates on, aside from defining a systematic procedure for extension. Therefore, to the MDE user, IDeSyDe operates on their system models, e.g. AMALTHEA or ForSyDe IO.

As such, IDeSyDe is not a mathematical solver such as Gurobi or CPLEX, it is not a constraint solver such as Gecode or chuffled, nor a general meta-heuristic optimization framework such as Opt4j or JMetal. It uses all these applications and libraries to enrich models that make better sense to a system designer, such as the mentioned AMALTHEA or ForSyDe IO.

How can I use it?

Short answer: Install IDeSyDe and follow the Quick start to get an intuitive grasp!

Long answer: IDeSyDe being a proof-of-concept prototype, there were decisions that simplified the implementation in order to prove the concepts quickly. The first one being that the tool that is distributed only accepts ForSyDe IO models (this is not a limtation as ForSyDe IO connects to other MDE frameworks). Second, only a handful of MDE “scenarios” (i.e. design spaces) are implemented and distributed with the tool. They can be found in Supported DSE. Therefore, direct use of the tool depends on the design spaces distributed with the tool itself.

The source code for this page can be found here.