Device Emulation with OSGi and Flash

Marcus Harringer

Embedded · Long
Wednesday, 10:30, 40 minutes | Silchersaal


Software development for embedded systems is usually cross-platform development. That is, the application is developed on a general-purpose computer, but executed on a resource-constrained embedded platform. The embedded platform is often not able to run an integrated development environment (IDE). This approach leads to increased development cycles (code -> deploy -> run -> debug) and it is generally speaking not really handy. Another problem within embedded software development is that sometimes the embedded hardware is simply too expensive to provide hardware units for each developer of a team. There are numerous reasons for using emulations (or simulations) of hardware devices in embedded software devlopment. In our presentation we propose a device emulation framework based on Java, OSGi and Adobe Flash. This framework is already in productive use by our customers.Emulation can happen on several levels of abstraction, ranging from whole processor emulation like the software QEMU does, to more high-level emulation as we have done in our framework: Each emulated device is represented by a bundle that is split into a Java and a Flash part. The Java part provides the API to the application code, the Flash part contains all graphical elements. All devices together build up a complete embedded system emulation. The emulator has a modular design principle that allows to build up a custom emulation very quickly. The emulator behavior can be programmed with a simple domain-specifc language. The language supports the defnition of reactions to events, throwing of events, and verifying expected application actions. For example, consider a simple embedded device with a turnstile and an RFID reader. The behavior can now be programmed that the (emulated) RFID reader should throw an event that a ticket has been read, and that the expected application action is to open the (emulated) turnstile if the ticket was valid. This allows the defnition of several scenarios that can be replayed automatically within a continuous build. In our presentation we will show a live demo and we will also discuss some issues and limitations that came along with the integration of Java, OSGi, and Flash

Marcus Harringer is a software engineer and consultant at MicroDoc GmbH in Munich focusing on embedded Java and OSGi development. Marcus was involved in the introduction of TDD within the MicroDoc development process. Marcus holds a Dipl.Inf degree in Computer Engineering from the University of Salzburg/Austria.

brox logo

bandxi logo

empolis logo

ibm logo

ww-im logo

sigsdatacom logo

bsi logo

purple scout logo

froglogic logo

microsoft logo

Eclipse Magazin logo

osbf logo

bredex logo

sopera logo

microdoc logo

oreilly logo

instantiations logo

cloudsmith logo

compeople logo

itemis logo

dpunkt logo

eclipsesource logo

sap logo

oracle logo

vogel logo

open-xchange logo

Actuate logo

report a problem with this page