Monthly R&D Status Report Date: March 15, 1997 Title: "SYSTEM-LEVEL DESIGN METHODOLOGY FOR EMBEDDED SIGNAL PROCESSORS" Contract Number: F33615-93-C-1317 Principal Investigator: Edward A. Lee Organization: University of California at Berkeley 1. Tasks Performed The major event of this reporting period was the Ptolemy Miniconference, held on March 14 in Berkeley, which drew a capacity turnout. In addition, we have also completed a pre-release of Ptolemy 0.7 to outsiders helping with ports to various platforms. We have also demonstrated significant applications of the SR and FSM domains, which combine signal processing with control. 2. Significant Accomplishments 2.1 Ptolemy Miniconference On Friday, March 14, we held a full day miniconference that reviewed the Ptolemy project. The objectives of the conference were primarily to report to and solicit advice from the industrial sponsors and friends of the project. The miniconference reviewed both this DARPA effort, which is wrapping up and will conclude with the release of Ptolemy 0.7, and future plans and preliminary results under our new DARPA effort entitled "Design of Distributed Adaptive Signal Processing Systems." The conference included several outside speakers reporting on uses of Ptolemy software and techniques plus ongoing interactions. We had 58 attendees from the following organizations: Adaptec Advanced Fibre Communications Advantest Alta Group of Cadence Design Systems Angeles Design Systems Berkeley Design Technology Data Flow Systems Ericsson Radio Systems AB Hewlett Packard Hughes Aircraft Hughes Space and Communications LG Electronics Lockheed-Martin Motorola National Semiconductor NEC Nortel Rockwell International Sanders, a Lockheed Martin Company Seiko Epson Corp. Semiconductor Research Corporation Seoul National University Sony Structured Software Systems Sun Microsystems Synopsys Tektronix Thomson-CSF University of Pittsburg University of Texas, Austin University of Washington White Eagle Systems The miniconference was held in conjunction with our annual Industrial Liaison Program (ILP) conference, and we included two afternoons of laboratory demonstrations of Ptolemy software prior to the miniconference. The highlights of the conference included: - The first public demonstration of hierarchical finite-state machines combined with dataflow and discrete-event concurrency models. - The first public demonstration of a synchronous/reactive modeling environment that supports hiearchical heterogeneity. - The first public demonstration of Tycho, our user-interface development environment, interacting with Java and with Ptolemy. - The first public demonstration of a web-based simulator for programmable DSPs, from UT Austin. - The first public description of an investment analysis tool from Structured Software Systems, based on Ptolemy. The miniconference also included descriptions of the use of Ptolemy in modeling free-space optoelectronic systems (from the University of Pittsburg), a description of Myrnet network simulations in Ptolemy (from Sanders), the use of Ptolemy for VHDL-based circuit design, research on multidimensional signal processing models, and theory that we have developed to help us understand interacting models of computation. In addition, we outlined plans for future work including a strategy for supporting fixed-point design and our plans for Java-based design. See http://ptolemy.eecs.berkeley.edu/papers/viewgraphs/miniconf97/ for details. 2.2 Ptolemy Prerelease The Ptolemy0.7 prerelease went out to individuals at the following organizations: - Structured Software Systems - Thomson CSF - Technische Universitaet Ilmenau, Germany - White Eagle Systems Technology, Inc. - Univ. of Maryland Baltimore County - Meta-Software - MIT Lincoln Labs The point of the prerelease is to allow other Ptolemy users to port Ptolemy0.7 to platforms that we do not have access to here at UC Berkeley. We have received preliminary reports back from most of the porters and there were surprisingly few major problems. The largest area of concern is with some of Tom Lane's type system changes, but we believe that we can resolve these issues. The current release schedule is: Fri, Mar 28 Code freeze until Fri Apr 4. Fri, Apr 18 Ptolemy0.7alpha release. Fri, May 2 Ptolemy0.7beta, docs done, proof final docs, conversion to html. Fri, May 16 Ptolemy0.7 final release. 2.3 Synchronous/Reactive Modeling The first nontrivial application of the synchronous/reactive (SR) domain was demonstrated by Stephen Edwards at our ILP conference. The application, described in our previous monthly report, involves the interpretation of MIDI control signals to control sound synthesis. This application provides a suitable representative of systems that combine intensive signal processing with intensive control. A Midi keyboard interfaced to the serial port of a Sparc 10 provided the control sequence. The Midi keyboard is capable of providing highly complex and time-sensitive control signals, thus representing a demanding system environment. Stephen used the Synchronous Reactive domain and SDF (synchronous dataflow) to create a synthesizer using the Sparc 10 to generate sound, and the keyboard to trigger events. 2.4 Recursion in Dataflow We have developed a plan for formalizing support for recursion in dynamic dataflow (where hierarchical blocks contain references to themselves). Our current implementation of this capability in Ptolemy is inefficient and fragile. The plan is summarized below: As done normally in languages supporting recursion, recursive references to hierarchical block diagrams will not be instantiated until they are needed. A particular block will take the place of the recursive reference until the recursive reference has to be expanded. This special block will be an instance of a class derived from the existing DDFWormhole class. Unlike the usual Ptolemy Wormhole, instead of requiring a Galaxy inside, the new block is happy with a pointer to a Galaxy that it can clone when it's time to run. This provides the right semantics (the strictness of a recursive function), and also seems to be much safer than anything else proposed (or implemented for that matter). 2.5 Improvements to Ptolemy Mary Stewart converted the MicroAlmagest from Framemaker to HTML and added a HTML table of contents to each file which should aid navigation. We plan on using this new format in the Ptolemy0.7 documentation Tom Lane, Jose Pino, Mike Williamson and the rest of the Ptolemy Design group met and discussed the current status of the type system. We agreed that the changes contributed by Tom Lane (of Structured Software Systems) are a major improvement, despite the minor problems they introduce. Tom believes that by adding a second pass to the type system, we can easily fix a few minor issues. Tom Parks of MIT Lincoln Labs has upgraded the Process Network domain to gthreads-3.1. We changed the color scheme of Ptolemy to better match the Motif scheme. John Davis Jr. wrote FlipFlop models for the discrete-event domain. Based on changes suggested by Xavier Warzee, Brian Evans has extended the Ptolemy interface to Matlab to control multiple, distributed instances of Matlab. 2.6 Ptolemy NT porting efforts Christopher Hylands made an attempt at porting a small part of Ptolemy to Windows NT, but there seem to be issues with combining Dynamic Linked Libraries (DLLs) that were created with Microsoft Visual C++ and those create with Cygnus g++. Ideally, we would be able to use Cygnus g++ to compile Ptolemy under NT so that we could use GNU make and the makefile structure we already have in place. If we switch over to using Visual C++, then we would need to create a shadow makefile structure. Note that we demonstrated at the miniconference Tycho running on NT, and Tycho interacting with Ptolemy. Thus, the motivation for completing the NT port is high, since we are close to being able to have a working system under NT. However, Tycho will not provide a fully functional Ptolemy GUI in the 0.7 release, so there is little point in including an NT port for Ptolemy with 0.7. 2.7 Improvements to Tycho John Reekie demonstrated the first graphical specification of a Ptolemy system in Tycho. There is still a great deal of functionality missing, but we are beginning to be able to see the retirement of Vem. Kevin Chang has reimplemented the Exec Class, which interfaces Tycho to the operating system. Christopher Hylands modified the HTML viewer to be more like netscape so that if a directory is typed into the entry widget, a table of contents is shown, and if a image is entered, then the image is displayed. Cliff Cordeiro tested and demonstrated Tycho under NT during the ILP lab tours. 3. External Interactions Prof. Brian Evans has organized a course at the University of Texas at Austin that covers many of the results of the Ptolemy Project under RASSP. See http://www.ece.utexas.edu/~bevans/courses/ee382c/. Uwe Trautwein of the Technical University of Ilmenau, Germany, contributed a set of models and applications demonstrating adaptive RLS (Recursive Least Squares) algorithms. One of the more sophisticated demonstrations shows adaptive nulling of an antenna array. The simulation is fully animated and interactive, so that the user can alter the direction of arrival of the interferers and the desired signal, and watch the RLS algorithm reconverge to a new antenna gain pattern. A second demo shows the use of an RLS adaptive equalizer to handle differential doppler shift in a multipath model where a line-of-sight path and an echo path suffer different doppler shifts. We used both of these demonstrations at the Ptolemy miniconference as prime illustrations of uses of the mature parts of Ptolemy. Stephen Edwards visited the Department of Electrical and Computer Engineering at The University of Texas at Austin on February 5-7, 1997. He gave lectures in EE382C Embedded Software Systems (on 2/5) and EE382M Logic Synthesis (on 2/6). He also gave a seminar for the department (on 2/7) entitled "Synchronous/Reactive Systems". He met with Prof. Brian Evans, Prof. Al Bovik, and Prof. Adnan Aziz. He also met with students in the Laboratory for Vision Systems and the Logic Design Laboratory.