UML doesnt provide complete solution for real-time system especially for Industrial Control Systems. There are three major drawbacks: an incomplete formal semantics, temporal operators with limited expression and analysis power, and implementation-oriented tools with limited verification capabilities [1].
To solve these problems, number of designers of real-time systems from industry provides solution according to their environment. The UML can be extended by using its lightweight extension mechanisms stereotypes, tagged values, and constraints. Coherent sets of these extensions can be grouped together to form what is called a profile [2]. A profile is a specialized version of UML that may be a subset of the UML as well as an extension and new notations [2].
In this review paper, UML profiles for real-time systems are evaluated on the basis of required parameters for Real-Time Industrial Control System (RT-ICS).
INTRODUCTION
Programmable Logic controllers (PLCs) are the today's computers of the machines and plants in the industry. PLC is a computer which is specially designed for the application in controlling tasks. Special qualities concerning robustness and response time is required in Real Time Industrial Control Systems (RT-ICS). Designing a control system for RT-ICS is a cumbersome and difficult task in today's competitive and global business environment. To reduce the complexity of such systems modeling provides a way to solve these problems. Unified modeling language (UML) is a standard modeling notation language. Although UML is wide spread used language but in the area of real time and especially RT-ICS it has several limitations. UML does not provide enough support for such systems. The UML can be extended by using its lightweight extension mechanisms stereotypes, tagged values, and constraints. Coherent sets of these extensions can be grouped together to form what is called a profile. A profile is a specialized version of UML that may be a subset of the UML as well as an extension and new notations [2].
In this reviewed paper, the UML profiles for real time systems are evaluated on the basis of parameters required for RT-ICS. Real Time systems have basic characteristics of scheduling, concurrency, timing characteristic, preemptive/non-preemptive etc. These parameters are helpful for evaluation of UML
real time profiles and identifying their limitations.
Rest of the paper is organized as follows. Section 2 reviews related works. Section 3 describe evaluation criteria for RT-ICS. Section 4 describe and analyze OMG UML profiles for real time systems. Section 5 concludes the work. Section 6 is about future work and section 7 is of references.
RELATED WORK
Ludovic Apvrille et.al have presented a UML 1.5 profile named TURTLE (Timed UML and RT-LOTOS Environment) [3]. This extended profile has been based on extensibility rules of UML and has been accompanied by a formal semantics given in terms of RT-LOTOS. TURTLE relies on UML's extensibility mechanisms to enhance class and activity diagrams. Many new aspects have been added in TURTLE at the activity diagram level to meet the requirements of RT Systems. These new characteristics include periodic, suspend, delay, and latency [3].
In [4], authors claim that to face the rapidly changing market conditions, requirement of adopting object oriented modeling in the real-time domain appears to be essential. But this requirement faces the lack of standards and the mismatch obstacles. In [4] authors have described minute detail what UML proposes as support for parallelism, behavior and communication modeling. Also authors have outlined a prospective approach showing how to use such notations to build real-time applications.
Modeling and Analysis of Real-Time and Embedded systems (MARTE) is a new profile standardized by the OMG. Using the specification of this newly standardized profile, MARTE, D Sebastien et. al has launched the development of a case study related to a real-time and embedded system[5]. Authors have also investigated that whether this profile is applicable to the Thales current systems and adheres to the software engineering practices.
Abdelouahed Gherbi and Ferhat Khendek has put also a review, many UML profiles for real-time systems and the research activity that revolves around these profiles [6]. They have chosen different profiles from the academia, the industry and standard organizations [6]. The paper concludes that While the model-based performance analysis with real time UML has achieved some interesting results, we observe that the schedulability analysis and its integration into a design framework based on UML/SPT are still not up to the expectations.
In [7], authors have proposed to extend UML for the domain of real-time embedded applications, with a concept of time inherited from reactive system modeling. With the help of an example from the automotive industry, authors have how to represent and to constraint behaviors depending on multiform time. Authors also advocate that this model of time offers wider possibilities than restricting models only to the physical time [7].
In [8], authors have discussed some problems related to UML solutions for real time systems. According to authors, an incomplete formal semantics, temporal operators with limited expression and analysis power, and implementation-oriented tools with limited verification capabilities are major drawbacks of the existing UML solutions for Real time systems. . Authors have also proposed a UML profile designed with real-time system validation in mind and have tried to run their proposed solution for a coffee machine as an example [8].
In [9] author says it is difficult to see how UML profiles can hope to provide the expressive power needed to be useful in many application domains e.g. spreadsheets, option trading or ladder logic?[9]
EVALUATION CRITERIA FOR RT-ICS.
In real time systems both functional and timing correctness are important. Temporal behavior, dynamic handling of priorities, synchronization, adaptive scheduling are the basic characteristics of a real time system. These characteristics vary from system to system.
Following are the parameters which we focused during evaluation of UML profiles for industrial control system.
3.1. Bit Logic
Bit logic is used to describe different types of binary operations e.g. changing memory status(raising flags etc), Joining, disjoining processes (AND, OR operations) etc.
3.2 Temporal Requirement
Temporal logic is used to describe any system of rules and symbolism for representing, and reasoning about, propositions qualified in terms of time.
3.3 Derivation constraint on real-time system
To meet the operational deadlines from event to system response and allocation of resources RTS may apply different constraints that are derived as under.
3.3.1 Absolute timing constraints
Execution Time
Release time, i.e., the earliest allowed start time
Deadline, i.e., the latest allowed finish time
Period, i.e., the rate that the task is executed with
Blocking time, i.e., the time the task is spent preempted by other tasks
3.3.2 Relative timing constraints
Relative timing constraints are also known as local constraints. That is, they express how two tasks relate to each other.
Precedence constraints deal with the order the tasks should be executed in.
Distance constraint expresses the minimum distance in time between two tasks.
Freshness constraint express the maximum distance in time between two tasks.
3.4 Resource Constraints
To perform the operations that the tasks may require to use specific hardware components.
Locality constraints concern the allocation of tasks to different nodes.
3.5. Concurrency
Capable of parallel processing and thread handling
3.6. Preemption/Non-Preemption
Interrupting the ongoing activities(processes) for transferring control to special types of tasks etc.
OMG UML REAL TIME PROFILES AND ANALYSIS
SysML
The SysML (Systems Modeling Language) is a graphical general purpose modeling language for systems engineering application that's build on top of UML 2. It supports the specification, analysis, design, verification and validation of systems. These systems may contain hardware and software components. In SysML, few of UML diagrams are tailored two of the new diagrams (requirement diagram, parametric diagram) are introduced. Block Definition Diagram (BDD) is the modified class diagram and Internal Block Diagram (IBD) is modified Structural diagram of UML. Different ports, item flow, parts and protocols are used in IBD and BDD, can also be used for real-time system modeling. Parametric diagram is used defining constraints and these constraints can be defined in any formal language e,g, OCL, MathML. SysML has semantic elements to define requirement and stereotypes to define relation among requirements.
Analysis
SysML qualifies the basic parameters for modeling real-time systems. But it lacks the support for bit logic, time and interrupts especially in IBD. SysML is so easy to understand. SysML is language and tool independent. Any tool and language like MathML can be used for modeling real-time system. So, it is easy for designers to design the system of their own choice of language and tool.
UML Profile for SoC
System-on-Chip (SoC) enables multiple function components, composed of both hardware and software to be integrated on a single silicon chip. Due to component-based system design paradigm, it supports enables synchronous (clocked) and asynchronous hardware components and hardware-software interfaces. SoC designers create ports, parts, module, sub-module channel, protocol interface, notations, stereotypes and constraints for SoC are introduced with their properties. OCL is used for the specification. For each module a header file is created. The header file includes module definition, port declaration, channel declaration, member function (which becomes a process) declaration and module constructor definition. Then all these diagrams are mapped to SystemC. Parts, port and allocations are mapped to SystemC modules, ports and processes respectively. From this header file an XMI file is generated. After applying XSLT rules on XMI file, executable level code of SystemC is generated. SystemC is optional language. It is only used for illustration. Any other language can be used.
Analysis
SoC designers have introduced new diagrams that are why it has better support for real-time system modeling than SysML. But it has still weaknesses for modeling real-time system. It cannot capture different types of time that are required for RT-ICS. It does not account for scheduling, bit logic and interrupts. Most of the designers of real-time system are familiar with OCL and SystemC. OCL is a standard language for specification while SystemC is executable modeling language. So, it is easy to model a real-time system by using UML profile for SoC.
SPT
UML Scheduability Performance and Time profile is a framework to model quality of service, resource, time and concurrency concepts and to support quantitative analysis of UML models. It provides the user (modeler) with a set of stereotypes and tagged values in order to annotate the UML models[10]. Quantitative analysis (schedulability and performance analysis) can then be applied to these UML models. This profile is composed of five profiles: The General Resource Model (GRM), Performance Analysis, Schedule Analysis, General Time and concurrency profile. It has the powerful mean to model metric Time and general concurrence.
Analysis:
Incoherencies between GRM, schedulablity and Performance modeling elements show a need for a better top-level architecture. Certain drawbacks exist to model more complex systems (distributed systems, hierarchical schedulers, etc). Specific semantic is not properly defined. It does not support state machine-based modeling and bit logic.
MARTE
Modeling and Analysis of Real-Time Embedded systems is a UML profile .The
extension was intended to replace SPT profile. It provides foundation for modeling real time embedded systems. Provides a rich support for time modeling. Describes three time models, chronometric, logical and synchronous time
Profiles
Con-currency
Types of Constraints
Functional
Temporal Logic Support
Code Generation
Tools
Bit Logic
Absolute Timing Support
Relative Time Support
Resource Allocation/ Scheduling
Preemption
Non-preemption
SysML
Y
N
N
Y
Y
Y
N
N
Y
N
SoC
Y
L
L
Y
Y
Y
N
Y
Y
N
SPT
Y
H
L
Y
Y
Y
N
N
N
N
MARTE
Y
H
H
Y
Y
Y
N
Y
Y
N
Table 1:- Tabular comparison of different profiles against real Time industrial Control System Constraints
Y: Available
N: Not Available.
L: Low support
H:High Supportmodel. MARTE provide support for specification, design, validation and verification stages in real time embedded development.
Analysis
MARTE provides modeling artifacts to annotate models, allows connection to tools for performance and schedulabitlity analysis. MARTE does not cover methodological aspects. It does not support bit logic modeling.
Table 1 presents complete analysis of different UML profiles. It is found that there is no bit logic and temporal logic support in all UML profiles and a comparison of these profiles has been shown in above table. The table shows the maturity of individual profile. SysML was earlier profile that has limited support for RTS due to its limitation of time and bit logic support. SoC is little bit mature than SysML because it has few support for time constraints. SPT has better support for time constraints. The only MARTE profile is mature enough qualify maximum parameters of RTS Other than bit logic parameter.
Conclusion
According to the above mentioned parameters UML profile for real-time system are evaluated. SysML profile is generally used for system engineering purposes. SoC profile support component based system design paradigm. SPT profile is a framework to model quality of service, resource, time and concurrency concepts and to support quantitative analysis of UML models. MARTE has the best support for absolute time, relative time constraints and concurrent systems. There are many tools available for performance analysis, scheduling and middleware generation.
From the above comparison it is clear that each profile support a specific domain, but short coming of supporting bit logic and temporal modeling is observed in these profiles. Bit logic operation are the basic requirements of the industrial control systems.
Future work
Currently we are working on extending support of UML for bit logic and temporal logic for industrial control systems. The new profile will be able to design/ model RT-ICS.