The second meeting of The Open Group Real-time and Embedded Systems Forum was held at the Hilton Crystal City in Washington DC and was attended by 57 individuals from 34 different organizations.
The mission of the forum is to bring together leading vendors with corporate and government customers, and to grow the market for real-time and embedded systems through deployment of standardized products.
The current membership standards at ten companies, including IBM, FDS Embedded Systems, Lineo , Mitre , MontaVista , NASA, Sun, the US Dept of Defense, TimeSys and VenturCom.
A key attribute of the Forum is to work with existing industry standards groups and consortia, to build upon their work where practical and to that end liaisons have been established with IEEE PASC, The Society of Automotive Engineers, The Object Management Group, NCITS R1, the J-Consortium, and the UDI Project. On the evening before the main meeting, an open house reception was held with tables from the above mentioned organizations. These groups were all represented at the Forum meeting itself.
The format for the meeting was an open plenary followed by a day of working sessions. Speakers at this meeting include Tom Williams (Editor-in-Chief, RTC Magazine), Michael Tiemann (CTO, Red Hat), Aubrey (Tom) Smith (Director of the OSJTF, US Dept of Defense), Greg Bollella (Sun Microsystems Labs), Dock Allen (Mitre Corporation), Stan Schneider (President, RTI) and Jim Litchfield (Sun Microsystems).
The first working group sessions were held during this meeting and four working groups have been established together with mail reflectors, the groups are:
The next plenary meeting is in San Jose during w/c February 5th. This will take the form of a one-day open plenary, and up to one and a half days working group sessions.
Andrew welcomed attendees to Washington.
In his introduction Andrew gave an overview of the current status and objectives for the Forum. He explained that the mission of the forum is to bring together leading vendors with corporate and government customers, and to grow the market for real-time and embedded systems through deployment of standardized products.
The current membership standards at ten companies, including IBM, FDS Embedded Systems, Lineo , Mitre , MontaVista , NASA, Sun, the US Dept of Defense, TimeSys and VenturCom.
A key attribute of the Forum is to work with existing industry standards groups and consortia, to build upon their work where practical and to that end liaisons have been established with IEEE PASC, The Society of Automotive Engineers, The Object Management Group, NCITS R1, the J-Consortium, and the UDI Project.
Andrew explained that the initial projects of the forum are as follows: Testing and Certification (including POSIX profiles, Real-time Java, Corba and UDI); API extensions (Linux/POSIX RT extensions); Security for real-time and embedded systems.
The weeks sessions were then outlined.
Tom introduced his presentation by explaining how at a recent conference he had sat through thirty-one powerpoint presentations and felt he should not subject another one to this audience, hence he did not use any slides for his talk.
First, he talked about how standards are developed. Traditionally there have been three scenarios:
The new latest process is the community process, such as that used for the various Open Source projects.
- The controlled approach, such as that taken by IBM with their PS/2 PC architecture.
- The ancillary approach, such as that taken with SGI, with Open GL which was ancillary to their main business of selling server hardware.
- The formal committee approach
A common theme amongst all the processes is the struggle for control over the standard and where it is going, versus the openness. There needs to be a gatekeeper, or a controller, for example with the Linux operating system, Linus Torvalds is the authority for deciding if a feature becomes a standard part of the operating system. For a standard to become successful, there needs to be some resolution of the process, and then ultimately a move to certification and testing that allows commoditization of a product in the marketplace.
Tom moved on to comparing two approaches, that for Linux and the Java Community Process. He described Linux as truly a phenonomen of the internet, and although some may have a perception that is controlled by teenagers, this is in fact not the case. There is a whole cycle of developing, testing and feedback and so there very much is control. Tom sees the Java Community Process as more paternalistic, it has opened up some but there has been fragmentation in the industry, with the fragmentation being due to issues of control and agenda.
In closing, Tom stated that the forward trend has to be applications, and that they need to be at a higher level abstraction than now. He would very much like to see the Linux and Java Community processes link up.
Michael Tiemann is the Chief Technical Officer for Red Hat, and a long time proponent of Open Source. This session contained a status update and overview of EL/IX, an Embedded Linux Specification modeled on the POSIX profiles for embedded systems.
Michael started his talk by quoting the following statistics in support of internet connectivity driving the new era of post-PC computing:
- 1 in 5 Japanese (over 27 million) has an internet connection. More than 10 million use mobile connections to the Internet.
- By 2003, more than 50% of the people using the Internet will do so with handheld and/or portable (Post-PC) devices (IDC).
- By 2002, more than 55 million Post-PC devices will ship, and by 2005 shipments will exceed shipments of PCs (IDC).
Michael noted that proprietary RTOSes have been successful in special purpose devices but have only limited application support, many of them had not been designed with the internet in mind, and many had clearly failed in the marketplace.
Michael explained that Open Source software is a key component of todays embedded marketplace, with portable compilers, debuggers, emulators and even operating systems being available. Linux, today is proving very popular with the embedded marketplace, with it supporting many popular cpus. The success of Embedded Linux in part is that it allows you to support multiple applications and is highly configurable.
Michael moved on to discuss standards, which he said come in many flavors:
He sees the value in standards in that it nails down an interface and allows you to change implementation. Michael then digressed into a side story about Linux and benchmarking, in which Linux was initially beaten by Microsoft NT by 40%. After some tuning this was brought back to 20%. The internals to the interface were then completely reworked and today Linux is now 100% faster than the NT system in that benchmark. Good standards are hard to find and even harder to maintain. Many bad standards are simply product specifications thrown over the wall by companies and declared as standard with little or no third party uptake.
- De facto (such as TCP/IP)
- Reference implementations (community friendly)
- Specifications (cleanest, but not usually complete until obsolete)
Michael then described the POSIX standards and in particular POSIX.13 (the real-time and embedded profiles standard). He explained that POSIX "Portable Operation System Interface" has the following scope:
POSIX.13 completed in Sept 1999 presents four real time system profiles
- Application-oriented
- Interface, Not Implementation
- Source, Not Object Portability
- Minimal Interface, Minimally Defined
- Broadly Implementable
He then compared the EL/IX (Embedded Linux) specification and how it relates. EL/IX has four levels, with the levels mapping for 1 to 3 to flexible subsets of PE51, PE52 and PE53 respectively. PE53 is particularly good for embedded web servers where having multiple processes allows you to better partition the system for security. Level 4 is a complete superset of PE54, being a complete Linux system.
- Minimal Realtime System Profile (PE51)
- Realtime Controller System Profile (PE52)
- Dedicated Realtime System Profile (PE53)
- Multi-Porpose Realtime System Profile (PE54)
On Real-time Linux Michael drew the following observations, "if you need it, you need it, if you don't, you don't". There is much work going on in this area by FSMlabs and many others.
Memory management is a hot-topic that he is looking into at the moment. Support of an MMU adds greatly to the cost of equipment, Red Hat are actively looking into how to make presence of an MMU an option in the upcoming Linux 2.4 kernel.
In summary Michael has the following conclusions: The Post-PC market is wide open; Linux has the flexibility, configurability, and functionality to support a very wide range of applications and appliances; Control standards by contributing to them; Linux standards should be 100% open source software .
Tom opened by saying that the OSJTF is an enabler and a catalyst for change within the US Department of Defense. During the last forty to fifty years the ground had moved and the DoD is no longer able to demand that industry build what they need, today they needed to utilize much more commoditized products through open systems.
Tom explained that we face the following challenges:
- How to Embed open systems applications into government & industry processes
- Incentives for industry to adopt open systems (increased competition Vs long term supplier relationships)
- Influence the standards development process - role for government
- Role of open systems in mitigating risk of diminished manufacturing sources
- Has open systems made "software reuse" manageable. How would we accomplish this?
Greg is the former lead of the expert group developing the Real-Time Specification for Java (RTSJ) under the Sun Community Process, project JSR001. Today, Greg works for Sun Microsystems Laboratories.
Greg explained the status of the Real-Time Specification for Java; a preliminary version of RTSJ has been published by Addison Wesley. The RTSJ will not be considered final until a reference implementation and a set of test suites become available (expected mid-2001).
Greg described the guiding principles for the RTSJ:
- Temporally Predictable Execution;
- Support Current Real- Time Application Development Practice
- Backward Compatibility
- The RTSJ maps the Java Language Semantics (JLS) semantics to appropriate, required instances
- RTSJ Appropriate for any Java Platform
- WOCRAC (like WORA but different)
- Write Once Carefully Run Anywhere Conditionally
- Support Leading Edge RT Application Development and the Real- Time Scheduling Academic Community
- No Syntactic Extension
- Allow for Implementation Trade- offs
- Toys to Cruise Missiles
- Incentive for RTOS vendors
His talk then went into details on the rationale for the features of the RTSJ and the technical details of the RTSJ, including enhancements made to seven areas of the Java Language Specification and the Java Virtual Machine Specification: Scheduling, Memory Management, Synchronization, Asynchronous Event Handling, Asynchronous Transfer of Control, Asynchronous Thread Termination, and Physical Memory Access.
Dock Allen is the Chair of the OMG Realtime SIG.
This is also be an opportunity for members to provide feedback to the OMG Realtime SIG on the relative importance of the current initiatives, and what the members would like to see in CORBA. The purpose of this session was to brief the Forum on the current activities of the OMG Realtime SIG, explaining the scope, why you would use CORBA, what's available now and what new developments there are in the works.
The scope of the OMG Realtime SIG, is CORBA and its protocols and UML, with the focus being on Real-Time. Dock explained that this was a success story.
There are many reasons why you would use CORBA, technically it gives you object orientation, interoperability, heterogeniety and transparent distribution. It also has a large set of general purpose and domanin specific services (such as events/notification, time, transactions, workflow, etc). Other reasons to use CORBA include support for non-mainstream systems, a rapid turn-around commercial open standards process (as little as 15 months), and Real-time CORBA being used in Real-time DII/COE.
Dock described what is available now:
- Real-Time: A Pure Extension to CORBA for Hard Real-Time Systems (Real-Time 1.0)
This is a pure extension to CORBA, with full use of priorities, eliminating priority inversion and providing control over resource usage.- Time: Support for Synchronized Time and Specialized Clocks
- Object Interactions: Synchronous, Asynchronous and Periodic Execution Models and Events
- Embedded CORBA (Minimum CORBA)
- Fault Tolerance (Using Redundancy)
- Extensibility (Interceptors) API
Looking to what is coming soon:
In conclusion, Dock gave a list of possible future attractions, such as improving real-time and embedded systems support, expanding the availability of real-time support to new classes of application, high performance and more work on the "ilities".
- Real-time UML Support
- Dynamic Real-Time and Distributable Threads
- Real-time Notification
- Data Parallel Support
- Multi-cast
- Extensible Transports
Lastly the talk ended with a straw poll on possible new work items for the SIG (see the slides for details).
Stan Schneider is the President of RTI Inc.
This session gave an overview of the real-time publish-subscribe (RTPS) communications model. RTPS is a data-distribution communications model expressly designed for high-performance communications over IP networks. The presentation covered the following topics:
- Real-time programming challenges
Network software is hard to write, debug, maintain. Its hard to make portable, is full of special options and cases
Its on the critical path and at the core of many applications
Network code often limits what your application can achieve
- Communications models for Distributed real-time applications
This looked at middleware data distribution , client-server models and publish-subscribe. Under the publish-subscribe model, subscribers declare interest in a topic (pressure), a publisher declares to send topic issues, the publisher issues data (delivered by middleware). It can be ideal for real-time data distribution: fast and efficient, direct abd event-driven transfer, no intermediate servers and can use multicast It can even simplify the programming paradigm.
- Publish-subscribe in Real-time
Ethernet can be real-time! Collisions are rare, switching can make them even rarer, a 100Mbit ethernet can deliver reliable 1ms performance at reasonable loads. IP can be real-time, but not TCP. UDP can be deterministic, but requires a lot of network programming , using middleware can reduce the programming load.
- An introduction to the Real-time Publish-Subscribe model
Real-time applications need more than just publish-subscribe and a model is needed, which models time and timestamps every message, trades timing and reliability, optimizes bandwidth use, arbritrates redundant services and controls memory usageThe rest of the talk focussed in detail on the model, looking at reliabiloity, speculative caching, implementation issues, and high availability. A simple API (4 calls) is all that is needed to publish messages to any node.
Finally the talk concluded with a discussion of when RTPS makes sense. It is ideal for real-time data distribution, much better than point-to-point or client server designs. It greatly simplifies programming and structures code.
Jim Litchfield is a senior engineer with Sun Microsystems.
This session covered the features in the Solaris Operating Environment that support real-time, especially in its application to multi-processor systems. He stated that Real-time was an inherent part of the system, and that Sun advertised support of 300 microsecond response times.
He described how the traditional scheduler within the UNIX system was the antithesis of real-time, and how it had been redesigned in SVR4 to allow multiple scheduling classes; these include time-sharing class (TS), interactive (IA), system (SYS) and real-time (RT) classes, the latter providing fixed priority preemptive scheduling for user processes.
He went on to describe in detail priority inversion , interrupts, interrupt control, processor control, address space control, jitter, and timers. Measured response time numbers for the current version of the operating system were also presented.
The talk was concluded by a comparison of Solaris against the POSIX standards 1003.1b (realtime) and 1003.1c (threads). Solaris 8 now supports all the options in these two standards apart from Prioritized I/O.
Security work group
Attendees: Sam Bowser, Robert Allen, Russ Richards, Amgad Fayad (Mitre), Joe Bergmann,
The group agreed to meet electronically before next meeting and the objective is to have a proposal for an approach to go forward possibly with lower level APIs below CDSA. A mailing list has been established. (Further information to be supplied).
Real-time Profiles group
Attendees:Joe Gwinn, Phil Wilshire, Victor Yodaiken, Frank Prindle, Anthony Green, Karen Gordon, Andrew Josey
The main discussions were about to extensions to pthreads related from the RTLinux technologies. For example being able to disable (local) interrupts or disabling interrupts on a processor. The group expects to bring forward some new APIs for MP, and to document some extensions , for example the sigaction function has an sa_focus field for directing interrupts, another extension has to have processor ids. A mailing list has been established to continue discussions.
Windows interest group
The group identified the following areas for future discussion during the meeting
Testing and certification group
Joe Gwinn, Frank Prindle, Bob Barned, Anthony Green, Andrew Josey Dave Emery, Glen Logan, Dock Allen, James de Raeve, Russ Richards
The session covered:
This session included a presentation by Andrew Josey on current progress
with testing real-time amendments.
POSIX .13 also defines Units of Functionality which are subsets of the POSIX .1 specification that can be supported in isolation, without a system having to support the whole of the .1 standard.
A testing strategy for systems conforming to the .13 Profiles or Units of Functionality subsets needs to reflect real products. The TET/VSXgen framework cannot be used in its current form in the more restrictive profiles, since it makes certain assumptions about its operating environment that are not valid in these profiles. The Open Group's current POSIX test suites that use the TET/VSXgen framework may also not function in a profile in which the tests should apply, since a testing strategy may have been employed that lies outside the functionality of the given profile.
Briefing sessions
The following briefing sessions were held on day 2.
Uniform Driver Interface Session: This session was led by Bob Barned, Technical Editor for NCITS R1.1 (Real Time UDI). and covered Uniform Driver Interface (UDI) support for Real Time Operating Systems and Portable Communications Protocol Modules
The Distributed Real-time Specification for Java: This session was led by Doug Jensen, Mitre Corporation.
The session covers the work that is in progress on the Distributed Real-Time Specification for Java, as part of Sun's Java Community Process. The approach is based on providing a natural and minimal mechanistic extension to Remote Method Invocation (RMI) to support the end-to-end timeliness (and other) properties of distributed - in the sense of trans-node - behaviors. These timeliness properties must be preserved for any distributed real-time computing system, regardless of its application programming model - whether RPC, mobile objects, or whatever.
©
1995-2000
Last Modified: Wed Jul 5 08:42:39 BST 2000