Project Overview



Project Objective

The AOCS prototype developed in the AOCS Framework Project was coded in C++. The primary aim of this project is to port it to a real-time version of Java. The Java version must then be tested and comparison in CPU, memory efficiency and other parameters must be made with the C++ version. This objective is interesting for the following reasons: Back To Top, Back to Real-Time Java Project Home

The Framework and Java Beans

The AOCS Framework is a component-based framework. In the C++ version, the term "component" was used to designate an object that exposed one or more interfaces and that interacted with its clients only through these interfaces and the framework was organized as a set of such components. In the Java world, component-based applications are built on the JavaBeans standard and the framework is therefore being translated to be organized as a set of bean components. More specifically, this means that: The implications of the first bullet are explored in another section of this web site. The second bullet implies that the instantiation of the framework should be done, as far as possible, by linking event sources with event listeners and by defining bean properties. With regard to the latter, note that the assembly of a concrete application from the framework is largely seen in terms of "plugging together" pre-defined components. This operation can be easily interpreted as the loading of properties in Java beans if one accepts properties of complex types. Thus, for instance, consider the case of two components comp_a and comp_b of types type_a and type_b, respectively. The composition of comp_a with comp_b would typically be done by calling method: a_comp.setPlugIn(comp_b) where 'PlugIn' is the name of a property of type type_b.

Back To Top, Back to Real-Time Java Project Home


Real-Time Java Technology

Ultimately, it is desired to implement the AOCS Framework on a real-time version of Java that complies to the specifications of the “Real-Time for Java Experts Group”. It is unclear to what extent existing implementations of the language are compliant with these specifications. At present, it is baselined to use the Esmertec JVM on a RPX board mounting a PowerPC 830 microprocessor. 

More information on the general principles used in porting the framework code to Java can be found here.

Back To Top, Back to Real-Time Java Project Home


Matlab Wrapper

The framework provides an interface to software generated by the autocoding facility of Matlab. Matlab is a general purpose modelling, design and simulation environment for control systems. Its integration with the framework plays an important part in achieving the long-term goal for this project. There are several technical problems related to creating this wrapper because the Matlab autocoding facility only generates C code. A full discussion is given in a dedicated page.

Back To Top, Back to Real-Time Java Project Home


Methodological Aspects

The methodological aspects of framework design and development were considered in a separate project done in parallel to the AOCS Framework Project. All the concepts and considerations elaborated in that context remain applicable to the present project. In particular, an understanding of the real-time Java project documentation requires familiarity with the concepts of framelet and with the role that is assigned to domain-specific design patterns in the framework design process.

Back To Top, Back to Real-Time Java Project Home


Last updated on May. 7-th 2002 by Alessandro Pasetti