CIP-Tool

CIP-Tool (Communicating Interacting Processes) is a software tool for the modelling and implementation of event-driven applications. It is especially relevant for the development of software components of embedded systems.

History

The underlying mathematical formalisms of CIP were first proposed by the physicist, Prof. Dr. Hugo Fierz. The tool was subsequently developed at the Swiss Federal Institute of Technology (Zurich) in a series of research projects during the 1990s. Development and distribution has since been transferred to a commercially operating spin-off company, CIP-Tool, based in Solothurn, Switzerland.

CIP Tool has been over taken by Actifsource GmbH in summer 2011. Actifsource has integrated the CIP Tool into the Actifsource workbench.

Methodology

The CIP-model is basically a finite-state machine, or more precisely, an extended finite-state machine (processes can store and modify variables and can use these to enable or disable transitions).

In CIP, a desired system behaviour is broken down into distinct processes, each of which is a set of states interconnected by transitions. One state in every process is tagged as active state. This active status can be transferred to another state through the execution of a transition. Such transitions are triggered by events (from external sources, e.g. sensors) or in-pulses (from other processes). Transitions can in turn send one or several out-pulses (to other processes) or actions (to external receivers, e.g. effectors).

The CIP-model is sometimes confused with petri nets. This may be because to beginners, the notation looks similar. The similarities should not be over-stressed, however. For example, CIP allows only (and exactly) one active state per process and processes are neither started nor terminated during run-time.

Code generation

CIP-Tool permits models to be automatically converted to executable code. This greatly facilitates testing, documentation and final implementation. Currently the languages C/C++ and Java are supported as output formats.

Content Disclaimer

Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.

  1. The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
  2. There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
  3. It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
  4. Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
  5. Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.