The design of Cyber Physical System (CPS) is a complex task. CPS are systems in which an integrated computation system (cyber system) interacts with a physical system. This dynamic interaction needs good understanding of both subsystems. Small changes in any subsystem may have signiﬁcant consequences in the other, possibly resulting in severe system failures.
The model-integrated and model-based design (MBD) is the most promising design paradigm for CPSs. Models of the physical system (PS) and the cyber system (CS) interact typically in an simulation environment.
The component framework, presented here, uses intrinsic meta-information as part of the components to describe properties and behavior. Composed to a system the meta information allow to assess the suitability of the system to accomplish the overall goal.
Overall the goals for component framework are:
- Validation: Identify if a system configuration is free of conflicts and satisfies the given set of system goals.
- Synthesis: Search in the design space of possible system configurations for one that passes validation, and second, identify superior system configurations with regard to cost and/or performance.
Building systems from components on a high-level abstraction is not easy. In our work we address the following challenges:
- Models: good models are required to describe structure and behavior of the system as well as its over-functional properties. Good in this context means that the models should represent the real world properties as accurate as possible, while the cost for the computation of the models should be low so we can efficiently evaluate millions of system points.
- Compsability: It is well known that a system is usually more than the simple sum of its parts, i.e. properties(A+B) != properties(A) + properties (B). However, a component frameworks needs to reason about the properties of the composed system, to identify superior system configuration before actually building them.
- Uncertainties: Since models and our knowledge about the composition are not perfect, we are exposed to uncertainties. Additional uncertainties originate from the systems' environment, but also from the system itself (timing uncertainties, faults). We need to address the uncertainties in the models and in the tool to ensure that the implemented system works in all kinds of conditions.
- Design space exploration & synthesis: With models and composition rules at hand we can systematically search for superior system configurations. However, usually the complexity of the design space
High-level System Synthesis:
The following figure shows one instance of the intended system synthesis flow.
- The generic component description language CoDeL. We decided for a generic, light-weight component abstraction to represent structure and behavior for a broad range of implementation languages.
- Models in CoDeL to represent and evaluate the application and the properties of the system
- System synthesis to efficiently find a system configuration that satisfies the application requirements. The figure indicates the usage of satisfiability modulo theory for this purpose. Other approaches
CoDeL is a generic component-based description language to express applications, requirements and building blocks, with their properties, constraints, and connectivity. CoDeL applies generic component-based concepts, such as components, interfaces, properties, and constraints, the proposed system synthesis and SMT transformation can represent the attributes of a wide range of existing implementation languages for embedded systems, describing hardware (e.g. IP-XACT (IEEE P1685), SystemC or VHDL), software (e.g. TinyOS, C, or ProCom), as well as physical interfaces and dynamic systems described in Simulink or Modelica. Those languages already utilize the concept of modules or components and are regularly exposed to constraint-driven allocation, binding, and parameterization problems.
CoDeL can be expressed either directly in an XML notation (link to documentation) or in its graphical representation (link to sub page).
CoDeL evaluates designs based on the promise/assumption-based evaluation of designs. This approach is not only suitable to assert the constraints of the structure, but also to reason about over-functional attributes of the system.
What can be expressed with the framework?
- Stability of of control system
- Security of wireless sensor networks
- Evaluation of schedulability
- Mapping of processes to the XGRID many-core architecture
(links and examples follow)
Synthesis and Design Space Search:
The aim of the synthesis phase is to identify good designs from a huge design space. We have to consider:
- component selection (chose the best components from a set of alternatives)
- component binding (how to connect the components? i.e. where to map software that may run on many cores?)
- component parametrization (each component has knobs that affects their behavior as well as the behavior of the entire system, e.g. the sampling rate of a control program affects both the control quality and the computation requirements)
To explore the search space and identify superior designs we investigate a range of approaches:
- exhaustive search
- conflict-based analysis and design space pruning
- application integer linear programming (ILP) solver
- application of satisfiability modulo theory (SMT) solver
The challenge for the application of ILP and SMT is not the actual search (the speed of the solver is just amazing), but to find a good encoding of the component-based design space into the solver languages.
For evaluation purposes, we implemented a tool, System Configuration Toolkit (SCT). SCT allows the designer to express components and systems graphically.
SCT can create, load, and connect the components, manage a component repository, in the CoDeL graphical notation, or in the underlying XML format.
For the modeled components, SCT can perform system synthesis and validation, based on the techniques described above.
The toolkit and a range of examples can be downloaded from the project GIT repository.
The project is a Microsoft Visual Studio project and requires Qt 5.3 to be installed. A 64bit Windows executable is included in the GIT.
For support please contact Steffen
- Including Variability of Physical Models into the Design Automation of Cyber-Physical Systems; Hamid Mirzaei, Steffen Peter and Tony Givargis; accepted for 52nd Design Automation Conference (DAC), June 2015
- Utilizing Intervals in Component-based Design of Cyber Physical Systems; Steffen Peter and Tony Givargis; In 10th IEEE International Conference on Embedded Software and Systems (ICESS), 2013; [Document]
- Tool-supported Methodology for Component-based Design of Wireless Sensor Network Applications; Steffen Peter and Peter Langendoerfer; In The 4th IEEE International Workshop on Component-Based Design of Resource-Constrained Systems, in conjunction with COMPSAC 2012 - the IEEE Signature Conference on Computers, Software, and Applications, 2012; [Document]
- Tool-Supported Development of Secure Wireless Sensor Networks; Steffen Peter, PhD Thesis BTU Cottbus; 2011; [Document]