Cyber-Physical Action Language (CPAL): A tool to model, simulate, verify and program Cyber-Physical Systems
Posted: Thu Jan 14, 2016
CPAL is an acronym for the Cyber-Physical Action Language. CPAL is meant to model, simulate, verify and program Cyber-Physical Systems (CPS) which are the types of embedded systems that can be found in cars, planes, robots, UAV, medical devices, home appliance, factory and home automation, power production and distribution, Internet of Things, etc.
CPAL serves to describe both the functional behaviour of the functions, that is their code, as well as the functional architecture of the system (i.e., the set of functions, how they are activated, and the data flow among the functions). CPAL is a formal language in the sense that it has well defined concepts of states and transitions, but CPAL purposely does not provide constructs that are hard to handle, or lead to convoluted code.
CPAL serves two use-cases:
See http://www.designcps.com/ for more details.
CPAL serves to describe both the functional behaviour of the functions, that is their code, as well as the functional architecture of the system (i.e., the set of functions, how they are activated, and the data flow among the functions). CPAL is a formal language in the sense that it has well defined concepts of states and transitions, but CPAL purposely does not provide constructs that are hard to handle, or lead to convoluted code.
CPAL serves two use-cases:
- a design exploration platform for CPS with main features being the formal description, the edition, graphical representation and simulation of CPS models,
- a real-time execution engine: the vision behind CPAL is that programs can be executed and verified in simulation mode on a workstation and the exact same code can be later run on an embedded board with the same run-time timing behaviour.
See http://www.designcps.com/ for more details.