Development time and cost of real-time applications can be significantly reduced by reusing software from previous applications. With today’s systems, however, even if some software is reused, a large amount of new code is still required to create the “glue” which integrates modules created by programmers at different sites. A new software engineering paradigm, called “software assembly,” is the process of developing an application simply by combining software modules from distributed libraries, without the need to write nor automatically generate any glue code. In this paper, the underlying framework to support software assembly of real-time applications is presented. The primary contribution is the notion of port-based objects, which combine object-based design with the port-automaton theory, in order to model and develop reconfigurable software modules. The integration of these modules in a distributed shared memory environment is possible through the use of a global state variable communication mechanism. Support for the framework has been implemented as part of the Chimera Real-Time Operating System. We have also designed a hypermedia user interface called Onika which allows real-time applications to be assembled graphically.
Available at: http://works.bepress.com/pradeep_khosla/92/