=Paper= {{Paper |id=Vol-2822/paper3 |storemode=property |title=Multi-Paradigm Design Space Exploration for Advanced Cyber-Physical Systems |pdfUrl=https://ceur-ws.org/Vol-2822/p3.pdf |volume=Vol-2822 |authors=Yon Vanommeslaeghe,Joachim Denil,Paul De Meulenaere }} ==Multi-Paradigm Design Space Exploration for Advanced Cyber-Physical Systems== https://ceur-ws.org/Vol-2822/p3.pdf
Multi-Paradigm Design Space Exploration for
Advanced Cyber-Physical Systems
Yon Vanommeslaeghea,b , Joachim Denila,b and Paul De Meulenaerea,b
a
    CoSys-Lab (FTI), University of Antwerp, Belgium
b
    AnSyMo/CoSys, Flanders Make, Belgium


                                         Abstract
                                         As cyber-physical systems become more complex, the engineering domains involved in their design
                                         become more intertwined. In these situations, an integrated design approach is needed, where parameters
                                         in the different domains must be considered and evaluated together to ensure an efficient deployment.
                                         However, in such an approach, the design space expands dramatically. As such, methods that allow
                                         engineers from different domains to reason about cross-domain relationships are needed to derive an
                                         efficient design-space exploration (DSE) strategy. The goal of our research is to enable the concurrent
                                         design and optimization of the embedded control of the next-generation cyber-physical systems. To
                                         achieve this, we make use of ontologies to explicitly model and capture domain knowledge. By reasoning
                                         about the problem as a whole, using these ontologies, we can derive an efficient design space exploration
                                         process where we make use of different DSE techniques to solve smaller sub-problems over the different
                                         domains.

                                         Keywords
                                         Embedded Systems, Cyber-Physical Systems, Co-Design, Design Space Exploration, Ontologies




1. Introduction
The design of cyber-physical systems (CPS) is inherently a co-design process involving multiple
engineering domains. Over the years the complexity of CPS, and the control and monitoring
algorithms used therein have increased significantly. This trend is expected to continue with
more advanced algorithms that contain models of the physics of the system they are meant to
monitor and control. As these models are computationally expensive, embedded deployment for
use in real-world applications is challenging, especially when real-time performance is required.
   As these systems become more complex, the different domains involved (i.e. control and
embedded) become intertwined, with decisions made in one domain imposing additional re-
quirements or restrictions on another. For example, an autonomous vehicle may use model
predictive control to determine which control inputs allow it to follow its intended trajectory as
closely as possible. In this case, a larger prediction horizon may lead to better control perfor-
mance, but also increases computational requirements. This complicates embedded deployment,

SEDES’2020: Software Engineering Doctoral Symposium, September 08, 2020, Online Conference
email: yon.vanommeslaeghe@uantwerpen.be (Y. Vanommeslaeghe); joachim.denil@uantwerpen.be (J. Denil);
paul.demeulenaere@uantwerpen.be (P. De Meulenaere)
orcid: 0000-0001-7871-2145 (Y. Vanommeslaeghe); 0000-0002-4926-6737 (J. Denil); 0000-0002-3706-6164 (P.
De Meulenaere)
                                       © 2020 Copyright for this paper by its authors. Use permitted under Creative Commons License Attribution 4.0 International (CC BY 4.0).
    CEUR
    Workshop
    Proceedings
                  http://ceur-ws.org
                  ISSN 1613-0073
                                       CEUR Workshop Proceedings (CEUR-WS.org)
potentially making it infeasible. Similarly, the way in which the algorithm is deployed on the
embedded platform can affect the control performance. For example, unexpected delays due to
the temporal behaviour of the embedded platform can degrade control performance.
   In these situations, a traditional, sequential design process becomes insufficient to ensure
efficient deployment and integration. As such, it is necessary to regard this as a multi-domain co-
design process, where parameters in both the control and embedded domain must be considered
and evaluated to ensure the quality of the software and hardware configuration after deployment.
However, in such an integrated approach, the combined design space expands dramatically
due to the increased number of degrees of freedom. Therefore, the design space exploration
(DSE) needs to be performed efficiently. We propose the use of ontologies [1] to facilitate
the optimization of systems involving multiple engineering domains, by capturing domain
knowledge and using it to guide the DSE process. In this guided design space exploration
process, different DSE techniques are used to solve different parts of the problem across the
different domains. As such, we refer to this as multi-paradigm design space exploration.


2. State of the Art
A lot of research has already been done regarding hardware/software co-design. Frameworks
such as Metropolis [2] and Metro II [3], generally follow the principle of the platform-based
design [4] methodology: the “orthogonalization of concerns”, i.e. separation of different aspects
of design. For complex cyber-physical systems this is no longer realistic, as the different domains
become more intertwined. More recently, efforts have been made regarding the co-optimization
of CPS designs in multiple domains and on resource-aware embedded control system design [5].
   Aminifar et al. [6] address the controller-server co-design problem for multiple control tasks
running on a shared platform. Here, virtual servers are used to divide the computational
resources among the different tasks. Their goal is to optimize the server configurations, together
with the sample periods of the controllers to ensure their stability. To achieve this, they first
compute a stability curve for each controller. This is then used to determine the optimal
configuration of server parameters and controller periods to minimize resource utilization
while ensuring system stability. Similarly, Roy et al. [7] consider the design of a (distributed)
FlexRay-based embedded control system. Here, they co-optimize the controller design together
with the FlexRay schedule, resulting in a Pareto front depicting the trade-off between control
performance and bus-utilization.
   From the state of the art, it is clear that there is a benefit to co-optimization between the
control- and embedded domains and that it is possible to come up with efficient strategies for
design-space exploration and optimization. However, it is apparent that determining these
strategies is not straightforward. It generally requires a good grasp of both the control- and
embedded domain and their interdependencies (domain knowledge). As such, methods that
allow engineers from different domains to reason about these cross-domain relationships are
needed for them to derive an efficient design-space exploration strategy. It is here that ontologies
can be used to explicitly capture the combined domain knowledge and leverage it to guide the
DSE process.
   Previously, Vanherpen et al. [8] worked on combining contract-based design [9] with onto-
logical reasoning to reason about the content of such contracts. Similarly, Dávid et al. [10] use
ontologies in the context of (in)consistency management. However, neither explored the use of
ontologies in determining an efficient DSE process.


3. Research Objectives
The ultimate goal of this research is to enable multidomain co-design for the deployment of
novel control and monitoring algorithms on embedded platforms. As such, the main objective
of this research is to define the methods, tools, and techniques for the concurrent design and
concurrent optimization of the embedded control of next-generation CPS by means of multi-
paradigm design space exploration and domain knowledge. This can be further decomposed
into the following sub-objectives:

Sub-objective 1: Definition of a method to capture and refine the common domain
knowledge. This method will need to be able to elicit the domain knowledge from the control
and the embedded engineer. It will also need to support the semi-automatic characterization of
case-specific parameters such as execution times, memory usage, etc.

Sub-objective 2: Definition of a design space exploration technique for fast explo-
ration of design options early on in the design process. The combination of the domain
knowledge and early design models based on virtual hardware must steer the engineer towards a
quick evaluation of the effect of different candidate high-level design choices, such as processor
type, architecture, etc.

Sub-objective 3: Definition of a technique to optimize the DSE process for co-design
problems, with explicit use of the captured domain knowledge. The design space for
the deployment of the next generation CPS is growing huge due to the increased number of
both control and embedded design choices. The goal is to optimize the DSE process by using
the relationships between the parameters and other information registered in the knowledge
base.


4. Past Work and Preliminary Results
Our earlier work focused on the co-simulation of embedded platform models with models of
the application expected to run thereon [11]. Here, we considered the embedded deployment
of virtual sensing algorithms, which include models of the physics. In this work, we explicitly
model the interfaces and scheduler of the embedded system, and combine this with the original
application model as illustrated in Figure 1. By doing this, it becomes possible to simulate the
impact of certain hardware aspects of the embedded platform, such as additive measurement
noise and timing behaviour, on the application. As this allows the temporal and functional
behaviour of the application to be verified on the model level, it allows engineers to quickly
determine the impact of different design decisions on application performance. This is demon-
strated using the embedded realisation of a virtual sensor, where we evaluate the impact of
ADC resolution and potential deadline misses on the accuracy of the virtual sensor. As such,
this work serves sub-objective 2, as it allows for the construction of virtual prototypes to quickly
evaluate the impact of high-level design decisions.




Figure 1: Setup for simulating the impact of embedded platform effects on applications.


   More recent work of ours focused on using domain knowledge, captured in an ontology, to
guide the design space exploration process for an advanced CPS, such as an advanced control
algorithm for brushless DC (BLDC) motors [12]. In this work, we show how domain knowledge
can be used to solve a multi-domain optimization problem. First, we build an ontology of
important design parameters and their interdependencies. This is illustrated in Figure 2, which
shows the ontology for the advanced BLDC control algorithm. In this figure, decision variables
and objectives are indicated in blue and green respectively, and arrows indicate which properties
affect which directly. Additionally, the plus and minus signs indicate how these parameters
affect each other. Building such an ontology allows engineers from different domains to reason
about the design space exploration process. By doing this, it becomes clear how information or
evaluations in one domain can be used to constrain parameters in an other and where trade
offs can be made. This allows us to determine an efficient design space exploration process
to quickly narrow down the design space to a subset of likely good candidates. For the case
of the BLDC control algorithm, the design space is quickly limited to 3% of its original size,
without discarding top candidates regarding system performance. This work mostly contributes
towards sub-objectives 1 and 3.
   Recently, we have extended this method by introducing characterization and ontology updat-




Figure 2: Ontology of the BLDC controller use case.
ing steps [13]. These steps allow for the systematic updating of the ontology as new information
or insights become available during the design process. Additionally, we add sensitivity in-
formation which allows us to prioritize certain (more sensitive) parameters during the design
space exploration process. This further contributes towards sub-objectives 1, 2 and 3.


5. Future Work and Expected Results
The results shown in previous work are promising, especially when keeping in mind the
development of new, advanced cyber-physical systems. In future work, we intend to extend
this work in two main ways:

Modelling of Domain Knowledge Currently, the ontologies we use are built up manually
and only exists as a drawing. As previously mentioned, Vanherpen et al. [8] worked to combine
contract based design (CBD) [14] with ontological reasoning. This resulted in an ontology
specific to the co-design of cyber-physical systems. We will investigate how this existing
ontology can be extended specifically to support our approach. Additionally, we will investigate
which parts of the domain knowledge can be captured in a generic way and which parts are
application specific. This work will contribute further to sub-objective 1.

Automation Currently, our method requires manual work to build and update the ontology,
and to derive the design-space exploration process. We will investigate to what extent this
process can be derived automatically from the captured domain knowledge, for example by
detecting certain patterns in the ontology. This will contribute further to sub-objectives 2 and 3.
We also intend to investigate if we can use the ontology itself to determine which relationships
need to be further characterized. For example by running sensitivity analyses or other experi-
ments. This would further contribute towards sub-objective 1.

Additionally, in previous work we made use of simple case studies, consisting of one algorithm
deployed on a single embedded platform. To further develop and validate our methods, we
will make use of a more complex use case. This use case should consist of multiple separate
algorithms, possibly with conflicting interests, running on a shared embedded platform, where
they are competing for resources. As such, we will need to optimize the configurations of
the different algorithms together with the resource allocation to ensure correct overall system
behaviour. This case will also be used to benchmark our methods and compare them to the
state of the art. Overall, we are aiming to reduce the computation time for the design space
exploration by a factor of 10, while still finding the best or similarly performing solutions.


6. Conclusions
In previous work we have shown that we can use domain knowledge, captured in an ontology,
to derive an efficient design space exploration process. This was demonstrated on an academic
use case where we were able to quickly reduce the design space to 3% of its original size,
without discarding top candidates. In future work we will further develop our method, along
with supporting tools to model the domain knowledge and to derive an efficient design space
process from this. In this design space exploration process, different DSE techniques will be
used to solve different parts of the problem. As such, we refer to this as multi-paradigm design
space exploration.


References
 [1] T. R. Gruber, et al., A translation approach to portable ontology specifications, Knowledge
     acquisition 5 (1993) 199–221.
 [2] F. Balarin, Y. Watanabe, H. Hsieh, L. Lavagno, C. Passerone, A. Sangiovanni-Vincentelli,
     Metropolis: An integrated electronic system design environment, Computer 36 (2003)
     45–52.
 [3] A. Davare, D. Densmore, L. Guo, R. Passerone, A. L. Sangiovanni-Vincentelli, A. Simalatsar,
     Q. Zhu, Metro ii: A design environment for cyber-physical systems, ACM Transactions
     on Embedded Computing Systems (TECS) 12 (2013) 49.
 [4] A. Sangiovanni-Vincentelli, G. Martin, Platform-based design and software design method-
     ology for embedded systems, IEEE Design & Test of Computers 18 (2001) 23–33.
 [5] W. Chang, S. Chakraborty, et al., Resource-aware automotive control systems design:
     A cyber-physical systems approach, Foundations and Trends® in Electronic Design
     Automation 10 (2016) 249–369.
 [6] A. Aminifar, E. Bini, P. Eles, Z. Peng, Bandwidth-efficient controller: server co-design with
     stability guarantees, in: Proceedings of the conference on Design, Automation & Test in
     Europe, European Design and Automation Association, 2014, p. 55.
 [7] D. Roy, L. Zhang, W. Chang, S. Chakraborty, Automated synthesis of cyber-physical
     systems from joint controller/architecture specifications, in: 2016 Forum on Specification
     and Design Languages (FDL), IEEE, 2016, pp. 1–8.
 [8] K. Vanherpen, J. Denil, I. Dávid, P. De Meulenaere, P. J. Mosterman, M. Torngren, A. Qamar,
     H. Vangheluwe, Ontological reasoning for consistency in the design of cyber-physical
     systems, in: 2016 1st International Workshop on Cyber-Physical Production Systems
     (CPPS), IEEE, 2016, pp. 1–8.
 [9] A. Benveniste, B. Caillaud, D. Nickovic, R. Passerone, J.-B. Raclet, P. Reinkemeier,
     A. Sangiovanni-Vincentelli, W. Damm, T. A. Henzinger, K. G. Larsen, et al., Contracts
     for system design, Foundations and Trends® in Electronic Design Automation 12 (2018)
     124–400.
[10] I. Dávid, J. Denil, K. Gadeyne, H. Vangheluwe, Engineering process transformation to
     manage (in) consistency, in: Proceedings of the 1st International Workshop on Collabora-
     tive Modelling in MDE (COMMitMDE 2016) co-located with ACM/IEEE 19th International
     Conference on Model Driven Engineering Languages and Systems (MoDELS 2016) St.
     Malo, France, October 4, 2016/Muccini, Henry [edit.]; et al., 2016, pp. 7–16.
[11] Y. Vanommeslaeghe, P. De Meulenaere, J. Denil, F. Cosco, B. Forrier, J. Croes, Towards
     co-simulation of embedded platforms and physics-based models, in: 2018 44th Euromicro
     Conference on Software Engineering and Advanced Applications (SEAA), IEEE, 2018, pp.
     97–100.
[12] Y. Vanommeslaeghe, J. Denil, J. De Viaene, D. Ceulemans, S. Derammelaere, P. De Meule-
     naere, Leveraging domain knowledge for the efficient design-space exploration of advanced
     cyber-physical systems, in: 2019 22nd Euromicro Conference on Digital System Design
     (DSD), IEEE, 2019, pp. 351–358.
[13] Y. Vanommeslaeghe, J. Denil, J. De Viaene, D. Ceulemans, S. Derammelaere, P. De Meule-
     naere, Ontological reasoning in the design-space exploration of advanced cyber-physical
     systems, 2020. Manuscript submitted for publication.
[14] A. Benveniste, B. Caillaud, D. Nickovic, R. Passerone, J.-B. Raclet, P. Reinkemeier,
     A. Sangiovanni-Vincentelli, W. Damm, T. Henzinger, K. G. Larsen, Contracts for system
     design, Ph.D. thesis, Inria, 2012.



A. Work Plan




Figure 3: Timeline of the research.


   The overall timeline of the research is shown is shown in Figure 3. On this chart, certain
tasks are overlapping to allow input between the two tasks. This is particularly important for
T2.1 (Modelling), as there is a lot of bilateral information exchange between this and the tasks
of WP3 due to the nature of this research. Additionally, part of the time allotted to T4.2 and
5.2 is for general purpose validation and dissemination during this research. This is indicated
with an overall hatched pattern, whereas notable event are marked with filled blocks. Lastly,
the red line indicates the current point in the plan at the time of writing. The work packages
themselves are described in detail in the following subsection.
A.1. Work Packages
WP1: Virtual hardware (12 months total)
This work package concerns the modelling of embedded platforms. Here, I will look at different
formalisms to model the relevant hardware characteristics. I will also look at co-simulation
techniques, such as FMI, to simulate the hardware models together with (a model of) the
software. After this, I will investigate how closely the simulated hardware approximates the real
hardware. This will support the DSE process by enabling the generation of virtual prototypes.

Task 1.1: Single-core embedded platforms (5 months)
In this task, I will investigate which formalisms and co-simulation techniques are appropriate
to model single-core embedded platforms. This includes things like the scheduler, but also
peripherals such as the ADC.
Dependencies: None

Task 1.2: Multi-core embedded platforms (7 months)
In this task, I will investigate which formalisms and co-simulation techniques are appropriate to
model multi-core embedded platforms. Here, I will focus on mechanisms specific to multi-core
embedded platforms, such as shared memory.
Dependencies: Task 1.1

Deliverables
    • D1.1: Report on the modelling and simulation of single-core embedded platforms.

    • D1.2: Report on the modelling and simulation of multi-core embedded platforms.

WP2: Domain knowledge (9 months total)
This work package mainly deals with the gathering and modeling of the domain knowledge.
This needs to support the DSE process.

Task 2.1: Modelling domain knowledge (6 months)
I will investigate how the domain knowledge can be expressed in the most appropriate languages
so they enable the fast exploration during the contract negotiation phase (sub-objective 2) and
the multi-paradigm design space exploration during the optimisation phase (sub-objective 3).
Currently, I consider two possibilities:

    • Ontologies can be used to capture the relationships between different parameters in
      both domains; e.g., update frequency in the control domain relates to the task period in
      the embedded domain.
    • Constraints can be used to express heuristics (e.g., large matrix multiplications can be
      performed more efficiently on a GPU) and to express certain requirements (e.g. safety
      critical parts need to be mapped to a platform which is ASIL-D certified).

I will also look at extracting relevant parameters that can be used in these heuristics, e.g.
determining memory usage using static code analysis tools such as StackAnalyzer. Heuristics
might be best modelled using a pattern catalogue and later operationalised as constraints in a
constraint language.
Dependencies: Task 2.2, Task 3.3

Task 2.2: Automatic characterisation (3 months)
In this task, a framework will be built to allow the (semi-)automatic characterisation of appli-
cations on different types of hardware. This will allow me to automatically run experiments,
effectively front-loading the characterization that is normally only done later in the design
phase. The application code will need to be instrumented, here existing tools such as RapiTime
can be used. Appropriate languages need to be used that capture the information obtained so
it can later be used by the DSE. This can be used to characterize relationships captured in the
ontology.
Dependencies: Task 2.1

Deliverables
    • D2.1: Report on the relevant domain knowledge. This includes a description of the
      relations, captured in an ontology, heuristics and/or constraints.

    • D2.2: A Framework for the automatic characterization of software on different types of
      hardware.

WP3: Design space exploration (12 months total)
Task 3.1: Design space exploration for embedded deployment (3 months)
In this task, I will investigate how existing design space exploration techniques can be used
to support the efficient embedded deployment of advanced virtual sensing algorithms. Here, I
will mainly focus on determining parallelization options for advanced algorithms on multi-core
embedded platforms.
Dependencies: Task 1.2

Task 3.2: Advanced design space exploration techniques (3 months)
In this task, I will investigate and catalogue which design space exploration techniques are
most suited to solve different common sub-problems for the design of advanced cyber-physical
systems. I will apply these techniques to the academic use case, which also serves as preparation
for the benchmarking task.
Dependencies: Task 3.1, Task 4.1
Task 3.3: Multi-paradigm design space exploration (6 months)
This task deals with the development of the DSE method(s) specifically for this problem. This
will be a combination of techniques that need to be applied at different levels of abstraction. I
will also determine where the relations, heuristics, and gathered measurements can be used
most effectively to guide the DSE process.
Dependencies: Task 2.1, Task 3.2

Deliverables
    • D3.1: Report on DSE techniques for the efficient embedded deployment of advanced
      virtual sensing algorithms.

    • D3.2: Catalogue of DSE techniques for the design of cyber-physical systems.

    • D3.2: Report on multi-pardigm DSE methods and techniques specifically for the “co-design
      exploration” and “co-design optimization”.

WP4: Validation and benchmarking (11.5 months total)
This work package deals with everything regarding validation and benchmarking, including
the definition and development of use cases, test setups, etc.

Task 4.1: Definition of use cases (4.5pm)
This time is reserved for the definition and elaboration of use cases over the course of the
project.
Dependencies: None

Task 4.2: Validation of developed techniques (3 months)
This time is reserved for the intermediate validation of developed techniques over the course of
this project.
Dependencies: None

Task 4.3: Benchmarking with respect to the state-of-the-art (1 months)
In this task, the developed methods and tools will be benchmarked. Here, I will compare
the results of the developed multi-paradigm design space exploration approach to the results
obtained using a conventional approach using the methods from Task 3.2. Results of the two
approaches will be compared; e.g., by checking how many of the top 5 designs were also
identified by the guided DSE in comparison to the amount of time saved. As such, it serves as
the final validation of the developed techniques.
Dependencies: Task 3.2
Task 4.4: Small validation cases (3 month)
Together with companies two small validation cases (SVC) of 1,5 person months each will be
defined. Here, the developed tools and techniques will be applied to a small case provided by
the companies. These SVC will be used to further validate the developed tools and techniques,
but also to motivate these companies to take part in defining a follow-up trajectory.
Dependencies: None

Deliverables
    • D4.1: Definition of use cases with their required models, documentation, requirements,
      etc.

    • D4.3: Report of the effectiveness of the developed methods and tools, together with
      deployment options for the specific case used.

    • D4.4: For each small validation case there will be a report for the company.

WP5: Dissemination and valorisation (3.5 months total)
Task 5.1: Writing thesis (2 months)
This time is reserved for writing the thesis.

Task 5.2: General communication (1.5 months)
This time is reserved for anything to do with general communication. For example, building a
demonstrator, making a video or infographic, attending conferences, open campus days, etc.


B. Poster
A poster presenting an overview of this research is shown in Figure 4.
            Mul�-Paradigm Design Space Explora�on for
                 Advanced Cyber-Physical Systems
                         Yon Vanommeslaeghe1,2, Joachim Denil1,2, and Paul De Meulenaere1,2
                       1CoSys-Lab (FTI), University of Antwerp, Belgium 2AnSyMo/CoSys, Flanders Make, Belgium



   Why?      As cyber-physical systems become more complex, the engineering domains
           involved become more intertwined and the design space expands dramatically.




                                                          Control    Embedded




                 Algorithms with models of the physics                  Advanced embedded pla�orms


   What?               Concurrent design and optimisation of the embedded control of
                                the next-generation cyber-physical systems.




            Control                           Embedded                           Control                            Embedded



   How?               By explicitly modelling and capturing domain knowledge and
                   using this to solve smaller sub-problems over the different domains.
                                                                              Mul�-paradigm
           Knowledge base                                                 design space explora�on
                                                                                                                   Coordinator




                                                                                                             Solver A          Solver B

            Domain knowledge

            Measured proper�es

             Virtual hardware
                                                                                                                                  ...




                                                                                                  Solver C          Solver D




           Contact:
           Yon Vanommeslaeghe - yon.vanommeslaeghe@uantwerpen.be
           Joachim Denil - joachim.denil@uantwerpen.be
           Paul De Meulenaere - paul.demeulenaere@uantwerpen.be




Figure 4: The poster with an overview of this research.