OMG specifications carry your real-time and/or embedded project through from analysis and design to development and deployment. Our modeling specifications start with the Model-Driven Architecture (MDA) with its basis on UML and the MOF and DRE-specialized UML profiles. Middleware support comes from Real-time CORBA with your choice of static or dynamic scheduling, and the family of smaller-footprint profiles defined by CORBA/e (CORBA for embedded). If you need publish-subscribe semantics, still in real-time, choose the Data Distribution Service (DDS) instead of CORBA. Lightweight versions of the CORBA Component Model and the most-used services - naming, events, logging - round out the package.

MDA Overview

OMG's Modeling Standards for Real-time and Embedded Computing

If you're building a small application, modeling is helpful, but if you're integrating a collection of mission-critical real-time modules over a network, it's essential. Working with your model, you can visualize, compose, and adjust your system at every level from the small to the large. Then the MDA standardizes the development path from your model to your application, guaranteeing that the image you execute at runtime is a faithful rendition of the model you used for your analysis and design.

OMG's modeling language standard is UML. Because modeling is fundamental to Real-time and Embedded computing, the road to OCRES Certification starts with the OCUP (OMG-Certified UML Professional) Fundamental exam. If you're a systems architect or designer, you'll have to create models; if you're a developer, you'll have to read them (or you may be a real-time specialist who analyzes the models for schedulability). Either way, you need to know UML.

Built around the Model-Driven Architecture (MDA), our Real-time and Embedded-specific modeling standards enhance UML with two profiles that allow schedulability analysis of the models as they pre-define domain-specific constructs. 

UML Profiles tailor the modeling language to a domain. or for a special purpose. For Real-time and Embedded computing, the special purpose is schedulability analysis, and the UML Profile for Schedulability, Performance, and Time was designed specifically to support this. Build your model in this profile and you can establish, before you write or generate your application, that your design (and its implementation!) will meet its non-functional as well as its functional requirements. The second Real-time and Embedded profile in this category, for Quality of Service and Fault Tolerance, supports a QoS model with quality characteristics, and supports Fault Tolerance with a Risk Assessment metamodel and UML extensions that describe FT software architectures.


OMG's Middleware Standards for Real-time and Embedded Computing

Real-time applications must be predictable. Real-time CORBA supports real-time requirements by facilitating the end-to-end predictability of activities in the system and by providing support for the management of resources. It includes support for both static and dynamic scheduling, and a recent adaptation termed CORBA/e (CORBA for embedded) defines a family of subsets that fit on boards or chips. 

Some applications or execution environments call for data-centric publish-subscribe semantics. For these systems, OMG's relatively new but extremely popular Data Distribution Service™ (DDS) defines a standard middleware with real-time response and the reliability required by mission-critical military systems. 

Lightweight versions of the CORBA Component Model, the most-used services, a standard Deployment and Configuration packaging standard, and interfaces allowing CORBA systems to attach Extensible Transports, round out the package.

For a list of the sections of each specification included in each OCRES exam, plus links for free downloads (except the textbook, of course), see the complete OCRES coverage map here.

For more information or questions about the OMG Certification Program, contact

OCUP, OCRES, OCEB and OCSMP are joint programs of the OMG and the UML Technology Institute (UTI).