• Nem Talált Eredményt

Future Research Direction

Finally, it serves as the basis for a follow-up PhD research by Ábel Hegedüs, who investigates further guided traversal optimization algorithms based on rule dependency analysis [3] and various selection criteria [12].

The framework is available from the official Viatra2 site athttp://viatra.inf.mit.bme.hu 11.2.3 Model-Driven Development of Integrated Modular Avionics Systems

In the context of the DIANA EU FP6 project, I participated in the development of a complete model-driven mapping framework from high-level platform independent models to configuration artifacts for the underlying ARINC 653 RTOS. I was responsible for the design and development of the com-plete mapping process carried out by the framework consisting more than 25 separate design steps. I also developed the necessary integration module to the Viatra2 DSE solver to support the mapping of avionics software payload to the underlying implementation platform consisting of partitions and modules.

The developed framework has been evaluated by leading industry partners like Embraer the 3rd largest civil airframer on the world, the Dutch National Aerospace Laboratory and GMV Aeronautics the largest avionics company in Portugal. Based on their feedback we fine tuned the implementation and introduced the results (i) at the 2008 Farnborough Air Show as part of the DIANA tutorial on fu-ture 3rd generation IMA platform [35] and (ii) in a joint publication with GMV at a premier industrial avionics conference: the 29th IEEE/AIAA Digital Avionics Systems Conference [14].

An other major follow-up of our approach is that Embraer initiated a cooperative research project with our group on a related topic.

11.2.4 EMF-INCQuery

In order to apply our technology to a broader industrial domain, incremental pattern matching tech-nology has been adapted to EMF, one of the most widely used modeling environment as of today.

EMF-INCQuery [13,20,9,7] provides an effective query API for EMF models with additional support for automated validation and change analysis.

Apart from its application for the validation of design constraints Section 10.7.2. A collaborative work with Ábel Hegedüs and Tamás Szabó (an MSc student partly under my supervision) has started to adapt the Viatra2 DSE framework to EMF using EMF-INCQuery.

The EMF-INCQuery framework is a major research contribution of Gábor Bergmann’s PhD the-sis and lead by István Ráth a colleague of mine.

11.3 Future Research Direction

Combining Structural and Finite-Domain Constraint Solvers

As it have been highlighted in Chapter 8, constraint satisfaction programming can be adapted to graph based models by using a combination of graph patterns and transformation rules. Addition-ally, model-driven techniques like incremental pattern matching provides an effective way to solve structural constraint defined using our proposed approach. Although the current approach allows the definition of simple constraints over the attribute values of the model but it does not provide any mean – other than simple checks on the result candidates – to use them for finding a solution.

Current research in our group is focused on combining structural and finite domain constraint solvers to provide means and techniques to (i) represent states in the state space in a unified way

184 CHAPTER 11. CONCLUSION

allowing the combination of structural and finite domain constraints for the definition of the problem and (ii) provide a solver architecture that can handle such combined constraint set.

Adaptive Hybrid Pattern Matching

The hybrid pattern matching approach described in Chapter 6 provides a mean to combine different pattern matching strategies. However, we believe that our current approach is only the first step to take full potential of hybrid pattern matching as in its current form it lacks the support for (semi) automated adaptive switch between matching strategies based on the underlying model and the transformation program. To overcome this limitation we aim to adapt well-known approaches to aid the transformation designer for code optimization and better adaptive strategy switching.

• Pattern analysiscan be used to classify graph patterns according to complexity, size, and com-plex cost metrics statically.

• Program analysis aims to identify patterns and model manipulation steps that are frequently used, rarely used, or unused for a period of time by analyzing the transformation program, without actually running it (see in [33,34]).

• Trace analysis improves this knowledge of transformation behaviour by actually running the program on one or more provided typical models and gathering statistics on the type and amount of executed pattern queries and model manipulations (see in [10]).

• Quantitative model analysis a highly promising approach to estimate the match set cardinal-ity of graph patterns based on statistics of the model (without actually running the pattern matching algorithm).

Additionally, we plan to investigate ways to achieve tighter integration between our two pattern matching engines. The aim is to provide means to allow different strategies to be responsible for matching different subpatterns within the same pattern without explicit user interaction.

Graph Pattern based Contracts as Tool Certification Artifacts

We believe that graph pattern based contracts can be used not only for early model-level error de-tection (as described in Chapter 10) but also as a mean to define precise interfacing between tools within a development process (as the original concept of design by contract [Mey92]). This way the implementation of the different steps can be changed within a development process without com-plete recertification analogously for software components in an IMA system as defined in DO-297 (see in Section 9.3.6).

Additionally, we also believe that contracts can be considered as auxiliary documentation for the provided functionalities of a certain step in the development process and used as certification artifacts as required in the Software Tool Qualification (DO-331) supplement of DO-178C.

However, we also know that in order to be able to reason on tool certification issues we need feedback and support from industrial partners or certification authorities.

Appendix

A

-The Complete Antworld Case study in Viatra2

A.1 Antworld Metamodel

entity ( AntWorld ) { entity ( metamodel ) {

entity( food ); supertypeOf( datatypes .'Integer ', food );

entity( foodBite );

entity( ant );

entity( carrierAnt ){

relation( carries , ant , foodBite );

} supertypeOf(ant , carrierAnt );

entity( searcherAnt ); supertypeOf(ant , searcherAnt );

entity( pheromone ); supertypeOf( datatypes .'Integer ', pheromone );

entity( field ) {

relation( hasAnt , field , ant );

relation( hasCarrierAnt , field , carrierAnt ); supertypeOf( hasAnt , hasCarrierAnt );

relation( hasSearcherAnt , field , searcherAnt ); supertypeOf( hasAnt , hasSearcherAnt );

relation( hasFood , field , food );

relation( hasPheromone , field , pheromone );

relation(path , field , field );

relation( circlePath , field , field ); supertypeOf(path , circlePath );

relation( returnPath , field , field ); supertypeOf(path , returnPath );

}entity( verticalSideField ) {

supertypeOf(field , verticalSideField );

relation( verticalReturnPath , verticalSideField , field );

supertypeOf( field . returnPath , verticalReturnPath );

}entity( horizontalSideField ) {

supertypeOf(field , horizontalSideField );

185

186 APPENDIX A. THE COMPLETE ANTWORLD CASE STUDY INVIATRA2

relation( horizontalReturnPath , horizontalSideField , field );

supertypeOf( field . returnPath , horizontalReturnPath );

}entity( cornerField ){

supertypeOf(field , cornerField );

relation( axisReturnPath , cornerField , cornerField );

supertypeOf( field . returnPath , axisReturnPath );

}entity( antHill ){

supertypeOf( cornerField , antHill );

relation( piledUp , antHill , foodBite );

}} }

Listing A.1: Viatra2 representation of the AntWorld metamodel