thesis as a plug-in for the Fujaba tool suite (Burmester
et al., 2005). The use of coordination patterns can be
seen as a paradigm that guides the design of mecha-
tronic systems. Contrary to ours, their approach does
not provide support for error handling but focuses on
the time-related aspects.
Another development methodology for dependable
applications is SCADE (Safety Critical Application
Development Environment) (Dion, 2004). SCADE is
based on a synchronous language and relies on hierar-
chical state machines for the specification of depend-
able applications. An application is specified using
state machines, enabling the verification of coherence
at design time. The synchronous paradigm ensures by
construction the determinism of a specification, and
thus eases these verifications. The approach abstracts
over physical time allowing real-time properties to be
verified at the code level. Our design methodology is
similar to this approach but lifts constraints inherent
to the determinism of the specification. SCADE could
be used to specify more precisely the internal behavior
of critical DiaSpec components.
8 CONCLUSIONS AND FUTURE
WORKS
In this paper, we have shown the benefits of the Dia-
Suite methodology for the development and the veri-
fication of dependable applications. We have applied
this methodology to a realistic case study in the avion-
ics domain and covered the entire development pro-
cess, from design to testing, leveraging an existing
flight simulator.
We are currently working on the specification of
fault tolerance strategies to improve the generated sup-
port for error handling. Another direction concerns the
deployment stage. We plan on reusing existing avion-
ics deployment technologies to provide deployment
support.
REFERENCES
Amey, P. (2002). Correctness by Construction: Better Can
Also Be Cheaper. CrossTalk: the Journal of Defense
Software Engineering, 2:24–28.
ARP-4761 (1996). ARP-4761, Guidelines and Methods for
Conducting the Safety Assessment Process on Civil
Airborne Systems and Equipment (SAE).
Avizienis, A., Laprie, J., Randell, B., and Landwehr, C.
(2004). Basic Concepts and Taxonomy of Depend-
able and Secure Computing. Dependable and Secure
Computing, IEEE Transactions on, 1(1):11–33.
Behrmann, G., David, A., and Larsen, K. (2004). A Tutorial
on Uppaal. Formal methods for the design of real-time
systems, pages 33–35.
Burmester, S., Giese, H., Hirsch, M., Schilling, D., and
Tichy, M. (2005). The Fujaba Real-Time Tool Suite:
Model-Driven Development of Safety-Critical, Real-
Time Systems. In ICSE’05: Proceedings of the 27th
International Conference on Software Engineering,
pages 670–671. ACM.
Burmester, S., Tichy, M., and Giese, H. (2004). Model-
ing Reconfigurable Mechatronic Systems with Mecha-
tronic UML. In Proceedings of Model-Driven Archi-
tecture: Foundations and Applications (MDAFA 2004),
Linköping, Sweden, pages 155–169.
Cassou, D., Balland, E., Consel, C., and Lawall, J. (2011).
Leveraging Software Architectures to Guide and Verify
the Development of Sense/Compute/Control Applica-
tions. In ICSE’11: Proceedings of the 33rd Inter-
national Conference on Software Engineering, pages
431–440. ACM.
Cassou, D., Bertran, B., Loriant, N., and Consel, C. (2009).
A Generative Programming Approach to Developing
Pervasive Computing Systems. In GPCE’09: Proceed-
ings of the 8th International Conference on Generative
Programming and Component Engineering, pages 137–
146. ACM Press.
Cassou, D., Bruneau, J., Consel, C., and Balland, E. (2011).
Towards A Tool-Based Development Methodology for
Pervasive Computing Applications. Software Engineer-
ing, IEEE Transactions on, PP(99).
Dion, B. (2004). Correct-By-Construction Methods for the
Development of Safety-Critical Applications. SAE
transactions, 113(7):242–249.
Dissaux, P. and Singhoff, F. (2008). Stood and Cheddar:
AADL as a Pivot Language for Analysing Perfor-
mances of Real Time Architectures. In Proceedings of
the European Real Time System conference. Toulouse,
France.
Feiler, P. (2006). The Architecture Analysis & Design Lan-
guage (AADL): An Introduction. Technical report,
DTIC Document.
Gatti, S., Balland, E., and Consel, C. (2011). A Step-wise
Approach for Integrating QoS throughout Software
Development. In FASE’11: Proceedings of the 14th
European Conference on Fundamental Approaches to
Software Engineering, pages 217–231.
Henzinger, T. A., Nicollin, X., Sifakis, J., and Yovine, S.
(1994). Symbolic Model Checking for Real-Time Sys-
tems. Inf. Comput., 111(2):193–244.
Hugues, J., Zalila, B., Pautet, L., and Kordon, F. (2008).
From the Prototype to the Final Embedded System Us-
ing the Ocarina AADL Tool Suite. ACM Transactions
on Embedded Computing Systems, 7:1–25.
Lasnier, G., Zalila, B., Pautet, L., and Hugues, J. (2009).
OCARINA: An Environment for AADL Models Anal-
ysis and Automatic Code Generation for High Integrity
Applications. Reliable Software Technologies–Ada-
Europe 2009, pages 237–250.
Littlewood, B. and Strigini, L. (2000). Software Reliability
and Dependability: a Roadmap. In ICSE’00: Pro-
ceedings of the Conference on The Future of Software
Engineering, pages 175–188. ACM.
Design-drivenDevelopmentofDependableApplications-ACaseStudyinAvionics
185