User:Wxmaxx/sandbox

The Unified Modeling Language (UML) is Object Management Group's (OMG) most-used specification. Currently, UML is the method that most development countries around the world model application structure, behavior, and architecture, in addition to business process and data structures. Many modeling tools use the UML standard as the baseline and is the cornerstone to the development of real-time systems. At the time of this article, UML 2.4.1 is the current approved standard, which is located on the OMG Web site.

= Real-Time Unified Modeling Language =

Overview
The OMG is a nonprofit organization that provides open membership to all organizations, most of which are in the computer software industry. Members participate in development projects and collaborate in setting standards for computer software development. “OMG develops enterprise integrations standards for a wide range of technologies”, which includes Real-time computing and embedded systems.

Participating members assist with developing and maintaining specifications. Companies participate by developing and documenting standards for different programming languages, operating systems, and networking environments. OMG has a member’s only area where they can see what is currently in development and contribute to the development process. Both members and non-members can submit bug reports and place requests for comments, information, and proposals. Differing levels of membership determine the contribution levels. Influencing level members are allowed to vote on technology adoption while submitting levels may not.

"UML is commonly used in the development of non-real-time systems and is gaining popularity in the object-oriented real-time community as well." Object-oriented programming (OOP) relies on data structures, methods, encapsulation, and other methodologies to create programs. Non-real-time systems use a linear method of programming that favors UML. Real-time programming can still use UML with other specifications to model programming tasks.

Possible Real-Time UML misconceptions:
Real-time UML is not a stand-alone specification. Although UML is the baseline for programming and developing real-time systems, this functionality is provided through the use of profiles or middleware extensions to UML.

Real-Time Unified Modeling Language definition
There is no general consensus about the definition of both real-time and embedded terms. UML modeling is essential to building real-time and embedded systems; therefore, different UML profiles are developed based on the desired application. A UML profile is a specification that does one or more of the following: identifies a subset of a UML metamodel, further defines element rules, declares standard elements, or outlines semantics in natural language. Therefore, real-time UML applies across a wide range of specifications and applications. Several tools are available to developers to plan and design real-time systems using UML as the baseline.

= Tools = OMG partners have developed tools for developing real-time systems based on hardware and software requirements. Some tools are developed to operate in a specific hardware platform or a particular software environment. The following list of UML profiles and specifications can be used in the development of real-time software applications:


 * UML profile for data distribution services version 1.2 dated January 2007


 * Many of today's systems operate in a data-centric environment where data is supplied or exchanged among several nodes that require certain pieces of information. Industrial automation and telecommunications are just a few applications where exacting data distribution is required to minimize latency and excessive data handling. The data model underpins any data-centric real-time system and the data distribution service helps create the model to sort out data flow and priority.


 * UML profile for Modeling and Analysis of Real Time and Embedded systems (MARTE)


 * MARTE outlines the basics for model-based real-time and embedded systems that apply to both modeling and analysis.  MARTE facilitates documentation of information required for an in-depth analysis.  Furthermore, MARTE specializes in both performance and schedulability analysis. Lastly, the current version of MARTE (version 1.2) replaced the existing profile for schedulability, performance, and time; which is why that profile  will not be listed in this section.
 * UML profile for modeling quality of service and fault tolerance characteristics and mechanisms


 * UML version 2.0 does not adequately address Quality of Service (QoS) and Fault-Tolerance for applications. High quality systems require detailed notations that pertain more to risk assessments and applicable "descriptions of hazards, risks, and risk treatments".

Sites linked to this page
UML (Provided article is approved)