Here is a set of useful resources to help you get started with CPAL:
- An introduction to CPAL: download document here, probably the best material to start with.
- The release notes include code examples and information about the language constructs.
Technical papers:
- Using CPAL within MATLAB/Simulink to write the controllers and account for implementation delays in the design of control laws, and check that the implementation meets the real-time assumption (download paper) — special issue “Design and Implementation of Future CPS”, Sensors, 18(2), MDPI, 2018.
- CPAL as the modeling and simulation language for the performance evaluation of the new industrial communication protocol CANXR-BF in “Event Notification in CAN-based Sensor Networks”, to appear in IEEE Transactions on Industrial Informatics in 2019 (doi: 10.1109/TII.2019.2904082). Authors’ preprint available here.
- CPAL as the modeling and simulation language in TTEthernet clock synchronization accuracy evaluation under permanent and transient failures (download paper and presentation here) — best paper award at the Embedded Real-Time Software and Systems (ERTS 2018), Toulouse, France, January 31st – February 2nd, 2018.
- CPAL and AADL (Architecture Analysis and Design Language) jointly used as modeling languages in an avionic case-study (download paper) — presented at the 25th International Conference on Real-Time Networks and Systems (RTNS’2017), Grenoble, France, October 4-6, 2017.
- Software Fault-Injection (download paper) and fault-tolerance with N-Version Programming in CPAL (download paper) — presented at the 22nd IEEE International Conference on Emerging Technologies And Factory Automation (ETFA’2017), in Limassol, Cyprus, September 12-15, 2017.
- A comparison of the Promela and CPAL languages — presented at the 13th IEEE International Workshop on Factory Communication Systems (WFCS’2017), Trondheim, May 31st-June 2nd 2017 – download paper.
- A presentation of the high-level abstractions offered to the developer in CPAL — presented at the Domain-specific Modeling Workshop (DSM), Amsterdam, October 30, 2016 – download paper and presentation here.
- An overview of CPAL and its use-cases — presented at the 8th European Congress on Embedded Real-Time Software and Systems (ERTS 2016), Toulouse, France, January 27-29, 2016 – download paper and presentation here.
- The use of CPAL to develop a safety component for UAVs in partnership with the Alérion company — presented at the 8th European Congress on Embedded Real-Time Software and Systems (ERTS 2016), Toulouse, France, January 27-29, 2016 – download paper here.
- The vision behind the CPAL programming model — presented at the First IEEE Workshop on Declarative Programming for Real-Time and Cyber-Physical Systems, San-Antonio, December 1st, 2015 – download paper here and presentation. Published as a journal paper in the ACM SIGBED review in 2016.
- Illustration of CPAL used as a modeling language for solving Thales FTMV challenge — presented at the 6th International Workshop on Analysis Tools and Methodologies for Embedded and Real-time Systems (WATERS), Lund, Sweden, July 7, 2015 – download paper here and presentation.
- Interested in the real-time scheduling mechanisms available in CPAL and their analysis? — download technical report here. The code of the experiments and the schedulability analysis for the FIFO scheduling policy is available on GitHub.
You can find on this page a more comprehensive list of papers on CPAL with pdf files and bibtex references.
Source code:
- A fully compliant CPAL parser, along with a model-transformation (MT) framework has been released in open-source under AGPLv3.0 license by RealTime-at-Work, CNR (Italy) and University of Luxembourg. The source code is available on github.
- The source code for the schedulability analysis of FIFO tasks with offsets, one of the scheduling model supported by CPAL, is available on github. The schedulability analysis itself has been published in this technical report.