1) Research Area: Deployment Space Exploration, Transformation Languages, optimisation

The design of automotive systems has changed radically over the last decades. Integrators are moving toward Model-Driven Engineering methods to handle the complexity of these systems. 

One example of such a method is AUTOSAR. It contains a meta-model to model the software component based and a middleware where these components can be deployed upon. During the process of deployment a lot of choices have to be made, including the mapping of software components to hardware platforms, the mapping of software functions to Real-Time Operating System (RTOS) tasks (including assignment of the priority), the mapping of application signals to messages on the bus (adding priority or slot information) and other low level choices like assigning buffers. All these choices impact the behaviour of the system. 

The solution space is usually constrained by the requirements of the system (for example real-time behaviour in terms of end-to-end latencies, maximum memory consumption, etc.) while the designers want optimality in terms of other parameters like cost, energy consumption, … To explore the solution space of the deployment of these systems, a lot of research has been done, especially in the real-time community. They developed algorithms and search methods to optimize the real-time behaviour of the system by using for example simulated annealing, genetic algorithms, CSP and Mixed Integer Linear Programming. 

Most of the algorithms involved in optimizing the system use four components:(1) Select solution: Selects a solution from the design space (2) evaluate: evaluate the solution with respect to the given objective function, (3) search: search within the design space while this is bounded by (4) constraints defined over the solution space.

The goal of the discussion at Bellairs could include: 
* Transformations can be used to encapsulate the exploration: A specific transformation language is needed to allow these things which could include: (1) separate match/rewrite (so look ahead can be used before rewriting) (2) programmed transformation constructs (3) backtracking. Though what other kinds of constructs are needed so we can plugin different search methods like MILP, simulated annealing, etc. Eugene did a lot of work on the decomposition and composition of transformation languages [1]. We can use the outcome of his work (T-core) as a starting point of the prototype of the transformation language. In [2], we did a full exploration using backtracking mechanisms based on a platform based design method with three abstraction levels. Though this approach is not feasible for normal sized problems because of the explosion of the design space. Therefore there is a need to include 'intelligent' search methods to converge faster to feasible/optimal solutions.

[1] E. Syriani and H. Vangheluwe, “De- / Re-constructing Model Transformation Languages,” Electronic Communications of the EASST Ninth International Workshop on Graph Transformation and Visual Modeling Techniques, vol. 29, 2010. (http://www.cs.mcgill.ca/~esyria/publications/GTVMT10.pdf)
[2] http://avalon.aut.bme.hu/mpm11/papers/mpm11_submission_4.pdf

* How will we add multi-criteria optimisation? Is it feasible to come up with a set of solutions that are pareto-optimal with respect to the given optimisation criteria and that are feasible with respect to the requirements? This also includes not only a fully technical discussion but also is it something that integrators really want? How will we involve the human in the process? 
* What is needed on the requirements side. We have languages like TIMMO, MARTE, etc though are these expressive enough and how to refine these requirements with respect to exploration (since choices at a particular abstraction level can impact the refinement of f.e. the timing chains in the TIMMO language)? And what formalisms can be used to evaluate these constraints (for timing behaviour we have the well known Tindell equations though what can be done for energy, safety, etc)

2) Research Area: Calibration, Statecharts, Coverage, Validation of Model Transformation

Statecharts are often used to model the behaviour of complex cyber-physical systems. From these state charts code is generated and deployed to hardware platforms. Some of these cyber-physical systems, especially in automotive and aerospace, have hard and soft real-time requirements. These are checked by use of analysis and simulation (for example Tindell equations). Though these analysis and simulation techniques require a calibration step. For hard and soft real-time systems this is the Worst-Case Execution Time (WCET) of the software function. Because of the complexity of the applications in these domains, there is a need for system-level design where early exploration is needed and thus a need for a good estimation of the WCET earlier on. 

In the WCET community there are two schools that have a different approach to obtain the WCET of component/task/etc. The first is by using an analysis method and requires a very good model of the processor. The other one is a hybrid approach where measurement on the real hardware platform is used in combination with some analysis techniques. In this proposal we focus on the hybrid approach for the estimation of the WCET based on statecharts. At the code level measurement based techniques consists of three phases: (1) Analysis and decomposition of the software functions, (2) Execution Time Measurement and (3) Timing composition. The first phase also consists of the creation of test-vectors that can be used to  test the code. Code coverage metrics are used to increase the confidence of the measurement. One example of such a metric is the Modified Condition/Decision Coverage metric though other exist that improve the confidence even more.

At the state chart level it is relatively easy to create these kind of test vectors. Though when going to the code level it is important that the same kind of coverage is preserved. In this proposal I would like to investigate the preservation of the coverage metric from the state chart level to the code level. 

The proposal includes the following topics:
* Investigation of the different semantic aspects of state chart (as defined in "big-step semantics") in relation to the code coverage metrics for WCET analysis. In [1] some work has been done to get WCET bounds out of a state chart. Though it is only focussed on the semantics presented by Harell for statemate. They only use a single coverage metric. In recent work by Bunte et al. [2] an investigation was done to the current coverage metrics and the relation to the WCET bounds. It would be nice to look at the different metrics on code and state chart level and relate these to each other based on the different semantic aspects of state chart implementations.

[1] E. Erpenbach, “Worst-case execution times and schedulability analysis of statecharts models,” Real-Time Systems, 1999., 1999.
[2] S. Bunte, M. Zolda, M. Tautschnig, and R. Kirner, “Improving the Confidence in Measurement-Based Timing Analysis,” 2011 14th IEEE International Symposium on Object/Component/Service-Oriented Real-Time Distributed Computing, pp. 144-151, Mar. 2011.

* Another topic relating to this is the preservation of the state chart coverage level to the code coverage level by means of properties of transformations (cfr. Levi). Since we generate code from the state chart and the test vectors where the coverage property is present, we need to verify that we have the same amount coverage on the code level. From an early discussion with Levi, we think that a dynamic approach to this verification is the most feasible solution though other techniques could be used as well. (Levi, Maybe a link to the VOLT paper?)

Goal Joachim:
* In depth discussion of one of the topic that can lead to (a plan for) a prototype (wrt. NECSIS) and a/multiple paper