The Polychrony project is a proposed open source project under the Polarsys Top-Level Project, which is operating under the auspices of the Polarsys Industry Working Group.
This proposal is in the Project Proposal Phase (as defined in the Eclipse Development Process) and is written to declare its intent and scope. We solicit additional participation and input from the Eclipse community. Please send all feedback to the Eclipse Proposals Forum.
The Eclipse Polychrony project provides a Signal Integrated Development Environment based on the Eclipse platform (Signal is a specification and programing language for critical/real-time embedded applications).
This project, also referred to as SSME platform, includes the meta-model of Signal under Eclipse (SSME), a reflexive editor, a code editor with syntax highlighting, an Eclipse view to create compilation scenarios, the import of some other formalisms (aadl, Geneauto/simulink).
It provides access to the other elements of the whole Polychrony Toolset (see figure):
Signal (Polychrony web site) is a specification and programing language for critical/real-time embedded applications. The main features of the Signal languages are:
The Signal formal model provides the capability to describe systems with several clocks (polychronous systems) as relational specifications. Relations are mandatory to write partial specifications, to specify non-deterministic devices (for instance a non-deterministic bus), and to abstract the behavior of external processes.
Using Signal allows to specify an application, to design an architecture, to refine detailed components downto RTOS or hardware description. The Signal model supports a design methodology which goes from specification to implementation, from abstraction to concretization, from synchrony to asynchrony. More details can be found in a short introduction to Signal language here.The Polychrony Toolset, based on the Signal language, provides a formal framework:
Polychrony offers services for modeling application programs and architectures starting from high-level and heterogeneous input notations and formalisms. These models are imported in Polychrony using the data-flow notation Signal. Polychrony operates these models by performing global transformations and optimizations on them (hierarchization of control, desynchronization protocol synthesis, separate compilation, clustering, abstraction) in order to deploy them on mission specific target architectures. C, C++, multi-threaded and SynDEx (a distribution tool) code generators are provided.Sigali and Fiacre code generators for formal verifications are also provided.
The Polychrony plug-ins under Eclipse suite is composed of several plug-ins which correspond to: the reflexive editor and an Eclipse view to create compilation scenarios, and the connection to the Polychrony Signal ToolBox services. The reflexive editor is the plug-in generated by the Eclipse Modeling Framework (EMF) from the meta-model of Signal (SSME).
Moreover, the import of the AADL formalism requires the Osate Eclipse plug-ins and the Eclipse plug-ins developed for the standardized Behavior Model Annex of AADL (see Telecom ParisTech AADL corner). It requires the Eclipse Xtext project.
Polychrony is an environment for the definition of critical/embedded systems. The use of the formal methods implemented in Polychrony may be useful to Polarsys community because formal design frameworks provide well-defined mathematical models that yield a rigorous methodological support for the trusted design, automatic validation, and systematic test-case generation of systems.
Our goal is to generalize the use of formal methods implemented in Polychrony by making them accessible in more popular framework, used by thousands of users and companies.
There will be an initial contribution of Polychrony toolset: Polychrony has been integrated under the experimental Polarsys platform during the OPEES project. This integration of Polychrony under this platform has been realized in collaboration with the CS company.
CS and INRIA have produced the Polychrony experimentation report which is included in the global experimentation report. For the qualification of the Polychrony component on the Polarsys platform, CS and INRIA provide the following documents:
The SSME platform and the AADL to Signal translator are under Eclipse Public License. The Signal toolbox and the Signal GUI are under GPL-V2 license. So, the source of the Signal Toolbox and the Signal GUI will not be under the Polarsys repository. It is available on the Espresso web site.
The Signal Toolbox is an Eclipse feature. This feature is composed of a set of plugins in which fragments are defined (operating system and architecture dependent). Such a plug-in provides the Signal ToolBox as an external dynamical library because the Eclipse Polychrony calls interactively the functionalities of the Signal ToolBox. This feature is also available on the update site of the Espresso web site.
The following individuals are proposed as initial committers to the project:
We welcome additional committers and contributions.
The following Architecture Council members will mentor this project:
The following individuals, organisations, companies and projects have expressed interest in this project:
|11-Sept-2013||Proposed project named changed to "POP, A Polychronous Modeling Environment on Polarsys"|
Back to the top