Technical Scope

iFEST will develop and demonstrate a tool integration framework which is targeted towards systems being developed using a hardware/software co-design approach. The framework will allow the instantiation of different tool chains supporting various process flows for which different tools and combination of tools are required. Such a framework will allow engineers to combine tools into coherent, well-functioning tool chains and will allow individual tools to be replaced with minimal effort.

Using this integration framework the industrial partners of iFEST will establish two prototype tool chains – one for each of the two chosen application domains, industrial control and data streaming.

iFEST is not really about developing new modelling technologies, nor about developing new tools as such. iFEST is concerned with establishing tool chains through the use of integration technology which is tool-independent. iFEST’s main contribution will be in the definition and implementation of models and meta-models both for the targeted application domains and for existing tools. Supported by the iFEST framework, these models and meta-models will allow different tool chains to be derived. In iFEST meta-modelling approaches will be used to automatically implement necessary tool chain interfaces. These interfaces will provide the sought for interoperability of tools.

Abstract Modelling

The iFEST tool chain prototypes will support abstract modelling, starting with platform independent models (e.g. models of behaviour, free of implementation details) which are later transformed into platform specific models. Applications will at some point be represented by domain-specific models, which we believe is necessary in order to achieve efficient HW/SW co-design implementations. Those design models will be (semantically) derived from the knowledge of parallelism and real-time implementations, as well as the necessary translation / transformation rules that will be supported by the powerful MDE technology used by iFEST.

Shared Concepts

Engineers working in particular domains should get coherent tool support for the concepts of their domain, concepts which they are already familiar with and trained in applying. iFEST will support working at this conceptual level for the requirements engineering and analysis phases of the life cycle, and whenever appropriate support these concepts throughout the engineering life cycle. Thus shared concepts are central in iFEST’s approach to tool chains, where we view the engineering life cycle as consisting of a set of activities. These shared concepts are common to several activities, and the same concept must be supported by several tools. This is illustrated in the following figure.

Integration Approaches 

The shared concepts effectively handled by our iFEST meta-model-based tool chain deal in our case with the design of embedded systems: compilation, HW/SW codesign, code generation etc. These domains bring their own (large) set of concepts; some are concepts of the systems under development, while others are concepts of the development process. Among them is the central notion of Models of Computation – MoC: initially promoted by famous scientists like Hoare (CSP), Kahn (KPN), Petri (Petri nets), Lee (SDF) and also by the community of Synchronous Languages (Esterel’s Lustre, Signal). They are central to the embedded system design in the sense that MoCs provide formal definitions of how system elements (either HW or SW or purely behavioural) interact and communicate. In particular, MoC allows some mathematical reasoning about the properties of the assembled system components. In iFEST, MoC is an important element regarding the parallelisation of applications.

The iFEST Integration Framework

Tool integration in iFEST will be supported by an integration framework. The framework will contain tool integration technologies so that tools can work on common engineering assets. iFEST will make it much easier to establish a well-functioning tool chain. To integrate a new tool into a tool chain will require a limited effort, and this effort will be a one-time effort which all other users of the tool will benefit from. The iFEST framework shall support:

  • definition of process flows describing the set of activities to be performed and
  • associate these activities with tools which will support the activities
  • transformation scenarios describing
  • how tools should be chained together
  • how tool data is exchanged and transformed
  • import/exchange of data to/from tools
  • invocation of tool functionalities

The following figure illustrates the relationship between the integration framework and the tools which make up a tool chain:

 

iFEST Integration Framework