approach aims at modeling and automatically gener-
ating existing voting mechanisms. Therefore, their
work is orthogonal to ours and their approaches may
be implemented as part of our approach. The com-
bination of voting mechanisms, modeling and code
generation has also been studied in (Hu et al., 2017).
However, they design their own framework for this
purpose and do not build atop a wide-spread model-
ing language such as UML. There also exist modeling
approaches for voting mechanisms that do not con-
sider code generation. These include (Bernardi et al.,
2012; Wu and Kelly, 2005), which target dependabil-
ity modeling and analysis, as well as (Zoughbi et al.,
2011), which models voting mechanisms as part of a
larger UML safety profile for the avionics domain.
Last but not least, MDD-based automatic gen-
eration approaches have been applied to other non-
functional properties, such as timing (Noyer et al.,
2016) and energy (Iyenghar and Pulvermueller,
2018).
7 CONCLUSION
This paper describes a detailed and novel MDD work-
flow for the automatic code generation of safety
mechanisms based on UML stereotypes. Such safety
mechanisms are used in safety-critical systems. These
are a category of systems in which failure may lead to
serious harm of human life or the environment. Our
workflow builds upon the basic code generation fea-
tures of modern MDD tools. Initially, our approach
parses the model representation of the safety mecha-
nism by parsing the corresponding UML steretoype.
Afterwards, model-to-model transformations are em-
ployed to add new UML model elements specific to
the safety mechanism to the application model. The
resulting intermediate model may be used as input
to the inbuilt code generation of many of the cur-
rent MDD tools, thereby generating productive source
code that is capable of performing the safety mecha-
nisms at runtime.
We illustrate the application of the workflow by
providing abstract code generation for a widely-used
group of safety mechanism, i.e., voting mechanisms.
For this, we introduce a novel model representa-
tion and describe the software architecture and model
transformations required to automatically generate
code from the model representation. We perform
experimental evaluations that indicate a linear run-
time for the employed model transformations, thereby
demonstrating that the proposed approach is scalable.
Future work may provide model representations
and automatic code generation for other safety mech-
anisms. Additionally, the feasibility of our approach
in an industrial use case scenario may be demon-
strated. A new research direction may also lie in the
use of our proposed model representations for the pur-
pose of safety certification.
ACKNOWLEDGMENTS
This work was partially funded by the German Fed-
eral Ministry of Economics and Technology (Bun-
desministeriums fuer Wirtschaft und Technologie-
BMWi) within the project “Holistic model-driven de-
velopment for embedded systems in consideration of
diverse hardware architectures” (HolMES).
REFERENCES
Armoush, A. (2010). Design Patterns for Safety-Critical
Embedded Systems. PhD thesis, RWTH Aachen Uni-
versity.
Beckers, K., Côté, I., Frese, T., Hatebur, D., and Heisel,
M. (2014). Systematic derivation of functional safety
requirements for automotive systems. In Bondavalli,
A. and Di Giandomenico, F., editors, Computer
Safety, Reliability, and Security, pages 65–80, Cham.
Springer International Publishing.
Bernardi, S., Merseguer, J., and Petriu, D. (2011). A de-
pendability profile within MARTE. Software and Sys-
tem Modeling, 10:313–336.
Bernardi, S., Merseguer, J., and Petriu, D. C. (2012). De-
pendability Modeling and Assessment in UML-Based
Software Development. In TheScientificWorldJour-
nal.
Enterprise Architect (2020). Enterprise Architect.
https://sparxsystems.com/products/ea/index.html (ac-
cessed 1st February 2020).
Harrand, N., Fleurey, F., Morin, B., and Husa, K. E. (2016).
Thingml: A language and code generation frame-
work for heterogeneous targets. In Proceedings of the
ACM/IEEE 19th International Conference on Model
Driven Engineering Languages and Systems, MOD-
ELS ’16, page 125–135, New York, NY, USA. Asso-
ciation for Computing Machinery.
Hatcliff, J., Wassyng, A., Kelly, T., Comar, C., and Jones, P.
(2014). Certifiably safe software-dependent systems:
Challenges and directions. In Proceedings of the Con-
ference on The Future of Software Engineering, FOSE
2014, pages 182–200, New York, NY, USA. ACM.
Heimdahl, M. P. E. (2007). Safety and software intensive
systems: Challenges old and new. In 2007 Future
of Software Engineering, FOSE ’07, pages 137–152,
Washington, DC, USA. IEEE Computer Society.
Hu, T., Bertolott, I. C., and Navet, N. (2017). Towards
seamless integration of n-version programming in
model-based design. In 2017 22nd IEEE International
Conference on Emerging Technologies and Factory
Automation (ETFA), pages 1–8.
A Workflow for Automatically Generating Application-level Safety Mechanisms from UML Stereotype Model Representations
227