Why CAPS ?
CAPS Modeling framework was created to support the engineering of Situational Aware Cyber-Physical Systems (SiA-CPS). SiA-CPS are systems consisting of a set of IoT devices such as sensors, cameras, etc and they are essentially used to continuously monitor the (users) given indoor/outdoor spaces. The data gathered during the process are then converted to actionable insights. Hence, SiA-CPS systems require monitoring to be performed with regard to both time and space. It also means that SiA-CPS systems consists of software components (drivers/code running on the sensors), hardware components (the sensors, cameras, RFID etc) and the environment with which the software and hardware components interact with and designing these system poses a challenge of ensuring consistency between managing the software, hardware, and environment view. In order to tackle this issue, The CAPS Modeling Framework provides a multi-view approach designed based on the IEEE/ISO/IEC 42010 standard
Modeling
CAPS provides three different views which include the software architecture view, the hardware view, and the physical space views. CAPS Modeling framework is built on the top of the Eclipse Modeling Framework (EMF). It also provides a graphical interface with the help of Graphical Modeling Framework and makes use of Atlas Model Weaver (AMW) for handling the model transformations among multiple views. CAPS enables the modeling of space view by incorporating the Sweet home 3D tool
Simulation
Modeling is the begining. What is more important is to analyze the architecture developed. CAPS allows this simulation of the models created with the help of CupCarbon Simulator. This is achieved by transforming the SAML, HWML and the SPML models generated by the modeling framework to CupCarbon project. The generated project is then simulated to obtain various operational information such as energy consumption, data traffic, etc. of the created architecture.
Code Generation
No modeling framework is complete without providing the support for code generation and CAPS is not behind either. It provides an easy way to convert the generated models into Arduino code. This is accomplished using the well known and standard techniques of Model Driven Engineering such as Model Weaving and Model Transformation.