Collaborative research with the Jiazzi group at the University of Utah
This research project is developing new software engineering techniques and tools to design, develop and configure distributed, real-time, and embedded (DRE) middleware and applications.
DRE systems frequently have to satisfy complex, non-functional requirements (e.g., performance, predictability, concurrency and memory constraints) that result in cross-cutting concerns. Also, DRE systems must be configurable for different scenarios, enabling lower cost and shorter time of development and deployment. Component-Based Software Development (CBSD) and Aspect-Oriented Programming (AOP) are two orthogonal paradigms that hold promise in improving dramatically the modularity and configurability of DRE systems in order to overcome the current limitations. Therefore, the research lead to an improved understanding of:
The proposed programming model supports aspect definition and application at the component level: aspects are constructed through new compositional forms, and conversely, aspects introduce functionality at the level of component definitions and interconnections. The model allows developers to manage complexity in new ways:
Furthermore, the new techniques are being validated through the development of new, modular, and highly configurable DRE middleware for Real-Time Java.
The knowledge that comes from this research will drive progress in DRE systems development and enable more effective techniques for modularizing concerns across application and middleware boundaries. Also, the resulting technologies and tools will be useful for designing and building embedded and real-time software systems, as well as software systems in general.
Both component systems and middleware have become popular commercially; the technology being developed in this research project will demonstrate how future component systems and middleware should evolve.
Tools
This collaborative project, located at University of California, Irvine and at the University of Utah, is developing and extending the following tools:
This material is based upon work supported by the National Science
Foundation under Grant No. 0410218.
Disclaimer:
Any opinions, findings, and conclusions or recommendations expressed in
this material are those of the author(s) and do not necessarily reflect
the views of the National Science Foundation.
Project Software
RTZen
ZEN-kit Eclipse plug-in