Upcoming & Current Events
In this extension to the CPAL language, we propose a framework which allows system designers to decouple functional and non-functional concerns, and express non-functional properties at design time using an internal DSL based on CPAL annotations. In the spirit of generative programming, functional models are then automatically “augmented” with dependability mechanisms. Importantly, the real-time behavior of the initial models in terms of sampling times and meeting deadlines is preserved. The practicality of the approach is demonstrated with the automated implementation of the prominent software fault-tolerance pattern, namely N-Version Programming.
The paper presenting this work will appear in Computer Standards & Interfaces (Elsevier) in 2020. Authors’ preprint available here
Past Events
CANXR-BF is a new layer-2 protocol that encodes information in a probabilistic manner using bloom filters. CANXR-BF is a interesting alternative to CAN when deterministic and low notification latency is demanded in large-scale systems characterized by many event sources (hundreds to thousands). The protocol has been modelled in CPAL and its performance evaluated by simulation in a variety of industrial contexts. The CANXR-BF CPAL model, based on the standard CAN model included in the distribution, is available upon request.
The paper presenting CANXR-BF, entitled “Event Notification in CAN-based Sensor Networks”, has appeared in IEEE Transactions on Industrial Informatics, vol 15, issue 10, October 2019 (doi: 10.1109/TII.2019.2904082). Authors’ preprint available here</a rel=”noopener noreferrer”>.
We are happy to announce that 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 MT framework is thread-safe and features a plugin based infrastructure and internal caches for speed. It has been developed to automate the “augmentation” of CPAL models with dependability mechanisms (e.g., process and data redundancy, voting), and to extract formal models (such as Promela) from CPAL code. There are two other CPAL parsers serving other purposes, the one of the distribution written in C, and one written in Java that is meant for C code generation from CPAL.
The source code, about 8000 lines of C, is available on github, feedback and contributions welcome!
CPAL is the modelling and simulation language used in a study with CNES (Centre National d’Etudes Spatiales) on the accuracy of the clock synchronization in the TTEthernet network on-board space launchers. A paper reporting on the results of this work was presented at the Embedded Real-Time Software and Systems (ERTS 2018), Toulouse, France, January 31st – February 2nd, 2018 — download paper and presentation here— and it received a best paper award:
Seminar at the Institute of Electronics, Computer and Telecommunication Engineering of the CNR about Model-Driven Engineering with CPAL, demoing CPAL for embedded targets and for the simulation of distributed systems — download slides here.
Two studies respectively on how to implement N-Version Programming (i.e., software diversity for fault-tolerance) in CPAL (download paper and presentation here) and a review and comparison of the different programming patterns to perform software fault-injection (download paper, poster and presentation here) were presented at the 22nd IEEE International Conference on Emerging Technologies And Factory Automation (ETFA’2017) that took place between September 12-15, 2017 in Limassol, Cyprus.
IWES is a workshop to share research experience between academy and industry on all aspects of embedded systems. Ivan Cibrario Bertolotti from the National Research Council of Italy gave a presentation entitled “Transparent Fault Tolerance Support in Model-Based Design” that reports on the ongoing development of an automated fault tolerance and fault injection framework in CPAL — download slides here.
At the 13th IEEE International Workshop on Factory Communication Systems (WFCS’2017) we presented a comparison of CPAL with the Promela language and discussed what we can expect from them, and when in the development cycle. The paper can be downloaded here.
Over the last 2 years, the CPAL team has developed, or teamed up with external partners as end-users, to prototype and develop several IoT systems. For two of those IoT projects, CPAL team member Sakthivel Manikandan Sundharam, and two University of Luxembourg Bachelor students Laurent Fey and Marc Kirsch, have had a lot of success at the third edition of the Morpheus Cup held on 28 April 2017. They won the Life Prize, the Logistics Prize and the Special Jury Award. The latter one is a 10 000€ prize money rewarding a project among the best projects from various categories, pitched in front of jury members from industry – More information on the IoT systems here.
We demoed the use of CPAL models to simulate the functional behavior of automotive applications, high-level protocol layers on top of Ethernet and Ethernet switches. The same models can be used for rapid-prototyping on low-cost NXP FRMD-K64f and Raspberry Pi platforms.
Invited presentation entitled “CPAL: A Timing Aware Design Exploration Platform to Model, Simulate and Verify the Cyber-Physical Systems” at the International Conference on Computer Communication and Informatics (ICCCI 2017) at the Sri Shakthi Institute of Engineering and Technology in Coimbatore, January 5-7th, 2017.
Talk on the issues in early-stage timing-analysis of automotive functions and presentation of some solutions with illustration in CPAL.
We gave a talk entitled “Model Interpretation for an AUTOSAR compliant Engine Control Function” on December 6, 2016 in the Department of Automobile Engineering at PSG College of Technology, Coimbatore. The associated paper can be downloaded here.
We participated at the 6th International Symp. on Embedded computing & system Design (ISED) and presented a paper entitled “A Model-Based Development Environment for Rapid-Prototyping of Latency-Sensitive Control Software”. The paper relies on the CPAL control library for Simulink® that allows to design and simulate control systems while considering the real-time behaviour of the implementation. The benefit is that the application once running on the real hardware will not suffer from a lack of computational ressources and, for instance, miss deadlines – the paper can be downloaded here.
The “Grand Challenge: Smart Embedded Applications and IoT” was organised along with the ISED conference. Our submission, which eventually took runner-up, was an IoT-based smart mobility system for two and three-wheelers which tracks data, such as the vehicle location, vehicle speed, air quality, etc, over the internet. The system is meant to help manage traffic congestions and identify traffic violations such as overspeeding behaviors, and possibly learn from the patterns of behaviors observed. The system supports GSM and IoT network connectivity. It has been conceived with a CPAL model, implemented on an ARM mbed IoT board, with IBM Watson IoT platform as cloud backend, and then tested with vehicles in Luxembourg and India – description of the smart mobility system can be downloaded here.
We were at the Domain-specific Modeling Workshop (DSM) held in conjonction with the SPLASH conference to present a paper about the high-level abstractions offered to the developer in CPAL with respect to real-time scheduling, introspection mechanisms, native support of Finite State Machines (FSMs), abstracting the hardware and decoupling functional concerns from non-functional concerns – download paper and presentation here.
Demonstration of CPAL as a simulation language to describe the functional behavior of automotive applications and high-level protocol layers.
The CPAL team was at the 7th International Workshop on Analysis Tools and Methodologies for Embedded and Real-time Systems (WATERS) held in conjonction with ECRTS2016 conference and presented a paper about the benefits of model-interpretation in the development of AUTOSAR-compliant automotive software functions – download paper and presentation.
We gave at the 2016 NAFEMS conference on systems simulation a presentation about the proper use of simulation in the design of critical embedded systems. We reviewed the use-cases of simulation with illustrations with CPAL/RTaW-Pegase, discussed the critical issue of validating the correctnesss of the simulation models and touched on the methodological and statistical aspects – download presentation.
“Eye-in-the-sky” is a project proposing the use of low-cost drones to monitor air pollutant levels in real-time, which possesses many advantages over the measuring stations that are in use today. The concept won the “Best Engineering Project” at the Morpheus Cup held during ICT Spring in Luxembourg. Sakthivel Manikandan Sundharam, a member of the CPAL team – on the left-hand side in the photo below, was part of the team of Phd students from the University of Luxembourg that developed the project, along with Arun Annaiyan (at the center in the photo) and Jan Eric Dentler (at the right). In the project, CPAL is used for the interface with the sensors on-board the drone. The “Eye-in-the-sky” concept is explained in more details in this set of slides.
The timing-predictable execution engine of CPAL will be demoed at the 22nd IEEE Real-Time Embedded Technology and Applications Symposium (RTAS 2016) as part of the Cyber-Physical Systems Week (CPSWeek). We also presented a WiP paper on the framework we develop around CPAL to automate the configuration of the scheduling of an application – download paper here.
We gave an invited talk on “Timing Analysis of Automotive Architectures and Software” featuring case-studies developed in CPAL – download presentation.
RTaW booth at ERTSS2016 showcased CPAL as a high-level programming language for the RTaW-Pegase network simulator, and the use of CPAL to develop a safety component for UAVs in partnership with the Alérion company – a ERTSS2016 paper reporting on this development can be downloaded here. An overview paper on CPAL and how it has been used so far was presented too – download paper here and presentation.
Presentation entitled “Write Once Run Anywhere with timing-equivalent execution – the CPAL approach” that discusses the real-time programming model of CPAL.
In the programming model we are developing with CPAL, the developer states the permissible timing behavior of the system, a system synthesis step involving both analysis and optimization then generates a scheduling solution which at run-time is enforced by the execution environment. At the First IEEE Workshop on Declarative Programming for Real-Time and Cyber-Physical Systems organized in San-Antonio, we discussed this ongoing work in a paper entitled “Towards a declarative modeling and execution framework for real-time systems” – download paper and presentation.
At the first international conference on RPAS related technologies, we presented a contribution entitled “Pragmatic Incremental Approach to an Affordable Certification Process for Professional RPAS – Building-up from core Safety Functions. An Example with a Smart Hybrid Parachute System” which reports on a joint project with our partner Alerion about the development in CPAL of a smart parachute for UAVs – download presentation.
Talk about CPAL with some highlights on high-level constructs of the language, a discussion about the ongoing work in timing verification and a review of CPAL applications in industrial case-studies – download presentation.
Our solution with CPAL to Thales FMTV challenge was presented at the Waters workshop (Workshop on Analysis Tools and Methodologies for Embedded and Real-time Systems) held in conjunction with ECRTS – download paper and presentation.
CPAL will be demoed for the first time on RTaW’s booth at the NAFEMS workshop on systems simulation.