MONTHLY PROGRESS REPORT CONTRACTOR: University of California at Berkeley TITLE: Open Control Platform REPORT PERIOD: 11/15/00 - 12/15/00 SPONSOR: Boeing Subcontract, Air Force Research Laboratory (AFRL) REPORT PREPARED BY: Sonia R. Sachs 1. Research Status Sonia Sachs worked further with TAO and Orbacus Event Service examples, with the goal of completing the compatibility tests between the C++-based ORB (TAO) and the Java-based ORB (Orbacus). In particular, we investigated mixed models, as illustrated below: Mixing Models ------------- - The Event Channel is capable of fulfilling all 4 roles simultaneously. A delivery model that utilizes ALL of the above four models is shown below: ------------ ***************** ------------ : Consumer : --- pull --> * * --- pull --> : Supplier : ------------ * * ------------ * Event * ------------ * * <-- push --- : Supplier : * Channel * ------------ ------------ * * ------------ : Consumer : <-- push --- * * --- pull --> : Supplier : ------------ ***************** ------------ - Although the Event Channel is fulfilling multiple roles, each consumer receives all events provided by all suppliers. The event channel decouples the consumers and suppliers such that none of them knows how the other consumers and suppliers are connected. We also used these examples to investigate real-time capabilities of the ORBS. Unfortunately, we determined that ORBACUS ORB does not support the periodic generation of events at a given rate or the ability to specify execution behavior based on event types. These two capabilities are provided by the OCP Real-time Event Service. The negative findings with respect to the Java-based ORBACUS ORB led us to conclude that the interoperability work between OCP and Ptolemy via a CORBA based publish/subscribe semantics would have to wait for the availability of a Java-based real-time ORB, such as Zen. These findings, however, were important to trigger a closer look at the integration of OCP and Ptolemy II, beyond simple interoperation. If the OCP were defined as a model of computation, composable with other models of computation, the integration between the OCP and Ptolemy would be very natural. We started to consider what changes to the OCP semantics would be required in order to allow composition of OCP and Ptolemy II components. Prof. Lee started the work of generating C++ code for the OCP platform, following up the plan of using Ptolemy II as the "controls API" for the OCP. By using Ptolemy II as the controls API for OCP, users will have the benefit of a rich set of models of computation that can be used to design heterogeneous, complex systems, such as hybrid systems. Also, users will be able to design strict real-time systems, with mode changes, such as systems that combine finite state machines with the real-time model of computation Giotto. A significant advantage of this approach is that users can rely on an open architecture, as opposed to using proprietary tools such as Simulink. Christoph Kirsch continued his work on the virtual machine for embedded code generation. He defined the instruction set of the embedded machine which has a formal synchronous (zero-delay) semantics providing synchronous control of scheduled computation and communication with respect to the progress of real-time and the occurrences of events. Meetings ======== None to report.