|
Untitled
by
Sean Walton & Venkat Chakravarthi
Advised by
Erik Eide
Distributed, real-time, embedded (DRE) systems frequently
need to satisfy complex requirements, and the implementations
of such systems need to deal with crosscutting concerns
including performance, predictability, concurrency, and
memory constraints. DRE systems must also be configurable
for different scenarios, enabling lower-cost and speedier
development and deployment. Component-based software
development (CBSD) and aspect-oriented programming (AOP) are
two approaches that promise to dramatically improve the
modularity and configurability of DRE systems.
Our research will lead to an improved understanding of (1)
how crosscutting concerns can be modularized across a DRE
application and middleware boundaries and (2) how CBSD and
AOP interact with typical real-time requirements and scale to
support DRE middleware product lines. We are using four main
tools in our research. RTZen (a real-time CORBA 2.3 ORB) and
RTJava provide the middleware and real-time features needed
in DRE applications. AspectJ (an aspect-oriented extension
to Java) provides language support for modularizing the
implementation of crosscutting concerns. Finally, Jiazzi (a
component language for Java, created at Utah) provides the
management of the various components in the system. Using
these tools, our research goals are to support both
component-like encapsulation and controlled exposure to
aspects, to enable type-checking within composed systems, and
to allow flexible middleware configuration. Accomplishing
these goals will mean addressing performance, predictability,
concurrency, and memory-capacity concerns, placing
industry-quality
middleware in the hands of DRE developers.
|