COSI:
Communication Synthesis Infrastructure
Large systems are networked. No matter what the scale of a system is, a designer faces the problem of using components and architecting a communication structure able to support the real time exchange of a potentially large amount of data. In System-on-Chips, Intellectual Properties (IP) are assembled together to build a hardware platform with a reach set of functionality. In building automation, sensors, actuators and processing units are distributed on a large field for estimation and control. In automotive, several processor are used to control the entire operation of a car (from safety critical to infotainment functionalities).
It is highly desirable that, if the components provide some
guarantees such that their ideal interconnection is correct, the
communication structure does not impact the correctness of the entire
system. Such compositional property is usually not trivial to ensure.
Therefore, there is a need for an automatic design flow that, given the
specification of a communication problem (i.e. a characterization of
the nodes to be connected and the communication requirements among
them), derives the communication structure that guarantees the
correctness of the composed system. Correctness includes timing and
reliability constraints.
The network synthesis problem has been studies for years by different
communities. In computer science (CS) the network is represented by a
graph decorated by labels on arcs (usually called capacities and
flows). Traditional algorithms for maximum flow, minimum cost flow,
Steiner tree etc. have been studied and applied to communication
networks (mainly inspired by the Internet network). In operations
research (OR), many optimization problems on networks are inspired by
the potential cost saving that can be achieved in transportation and
supply chain management applications.
Although some non trivial optimization algorithms have been,
and
will be, developed in the course of this project, the main contribution
is a general methodology. Ideally, such methodology is general enough
to be applied to many application domains where a network, usually
physically constrained by the environment, needs to be designed.
The Communication Synthesis Infrastructure (COSI) is a software
environment that can be easily adapted to implement communication
synthesis tools for many different applications.
In this project we are concerned with networks for embedded systems.
We address the problem of providing a formal framework for specifying
network as communication structures. A communication structure can be
used to define a communication problem as end-to-end communication
constraints between users.
Communication structures can also be used to define a library of
components together with their performance, cost and composition rules.
In many networked embedded systems, the environment is one more
constraint to take into account. For instance, in an indoor wireless
network for building automation, the walls and the floors have an
impact on the performances of the network. By the same token, in a
System-on-Chip, the silicon area occupied by pre-designed IP cores
represents a constraint on the available space to install network
components and wires to interconnect the cores.
We use COSI for the synthesis of Networked Embedded Systems. We plan many releases of the software depending on the specific application:
1. COSI NoC for on chip networks : Version 1.2 (done), Version 1.3 (under development)
2. COSI WNES for wired networked embedded systems: Version 1.0 ( under development)
3. COSI WLESSNES for wireless networked embedded systems : Version 1.0 (under development)
4. COSI WWNES for wireless and wired networked embedded systems : Version 1.0