Authors:
Lars Huning
1
;
Timo Osterkamp
1
;
Marco Schaarschmidt
2
and
Elke Pulvermüller
1
Affiliations:
1
Institute of Computer Science, University of Osnabrück, Wachsbleiche 27, 49090 Osnabrück, Germany
;
2
Faculty of Engineering and Computer Science, University of Applied Sciences Osnabrück, Germany
Keyword(s):
Automatic Code Generation, Embedded Systems, Hardware Interfaces, Model-Driven Software Engineering.
Abstract:
Model-Driven Software Engineering (MDSE) promotes the use of models for software development. One application of MDSE is the development of embedded systems, whose size and complexity are growing steadily. Usage of MDSE for embedded systems often consists of creating high-level architectures, e.g., with the Unified Modeling Language (UML), while the actual implementation of the system is done manually. One reason for this is the semantic gap between high-level UML models and the low-level programming associated with microcontrollers, i.e., imperative programming at the register level. This paper proposes an approach for the seamless integration of hardware interfaces, e.g., GPIOs or UARTs, in UML-based MDSE tools. This enables developers to create their application continously in the MDSE tool, instead of resorting to manual programming outside the environment of the MDSE tool. For this, we present an approach that describes how object-oriented hardware abstraction layers may be seam
lessly integrated in MDSE tools. Furthermore, we provide a GUI tool for hardware interfaces that enables the initial configuration of these interfaces. An automatic code generation approach may subsequently be used to generate the initialization code for the hardware interfaces of a microcontroller. We present a use case for our approach in which the software application of an embedded system is ported to several other microcontrollers from different manufacturers.
(More)