System modelling with a unified modelling language (UML) is an active research area for developing real-time system development. UML is widely used modelling language in software engineering community, to specify the requirement, and analyse the target system successfully. UML can be used to provide multiple views of the system under design with the help of a variety of structural and behavioural diagrams at an early stage. UML-RT (unified modelling language-real time) is a language used to build an unambiguous executable specification of a real-time system based on UML concepts. This paper presents a unified modeling approach for a newly proposed rate monotonic scheduling algorithm-shortest job first (RMA-SJF) for partitioned, semipartitioned and global scheduling strategies in multiprocessor architecture using UML-RT for different system loads. As a technical contribution, effective processor utilization of individual processors and success ratio are analyzed for various scheduling principles and compared with EDF and D_EDF to validate our proposal.
The integration of object modelling and design methods and real-time scheduling theory is the key to successful use of object technology for real-time software. Surprisingly, many past approaches to integrate the two either restrict the object models or do not allow sophisticated schedulability analysis techniques [
Technological trends on high performance computational systems are moving towards execution platforms made up of multiple programmable and dedicated processing elements implemented on a single chip known as multiprocessor system-on-chip (MPSoC). In recent years, model based system level design has gained considerable attention in multiprocessor system-on-chip, since it simplifies the application behaviour and reveals the top-level structure of the behaviour, abstracting out the low-level details [
Algorithms for multiprocessor scheduling can be classified as partitioned scheduling and global scheduling. Tasks which are assigned statically to processors and task migration between processors are not allowed in partitioned scheduling, whereas, in later approach, ready tasks are enqueued in a global queue and tasks are assigned dynamically to available processors. All fixed-priority algorithms based on partitioned scheduling [
When scheduling single-processor systems, nonpreemptive has been considered inferior because of its poor responsiveness. However, in multiprocessor systems, high-priority tasks will still have a chance to execute on available processors to meet deadlines. Moreover, nonpreemptive scheduling algorithms are easier to implement and have lower runtime overhead [
In this paper, a MPSoC system is modelled using UML-RT and schedulability of nonpreemptive rate monotonic algorithm-shortest job first (RMA-SJF) for periodic task sets on three homogeneous multiprocessors is analysed for various load conditions. As a technical contribution, we present our simulation experiments comparing the success ratio and effective processor utilization for global, semipartitioned, and partitioned techniques to validate our work.
This paper improves upon previous publications in the following aspects. Our result shows better performance than conventional EDF algorithm and D_EDF [ In [ Runtime overhead will be much more reduced in our proposal because EDF is dynamic whereas rate monotonic algorithm is a static algorithm.
The paper is constructed as follows. Overview of UML-RT is presented in Section
Object-oriented programming upgrades procedural programming in the areas of adaptability, understandability, and code reusability. Real-time object-oriented model must be expressed unambiguously and explicitly to represent synchronization and concurrency among processes. Currently available object-oriented real-time models are weak in specifying temporal and behavioural requirements and also lack schedulability analysis [
Object-oriented models like ADARTS (ADA based design approach for real time), CODARTS (concurrent design approach for real time), HRT-HOOD (hard-time hierarchical object-oriented design) [
Rational Rose Real time is a software development environment tailored to the demands of real-time software [
The tool, named UML-RT for real time, developed by the Rational Corporation, uses UML to express the original ROOM (real-time object-oriented modelling) concepts and their extensions. It includes constructs for modelling both the structure and behaviour of event-driven real-time systems.
Rational Rose Real Time includes features for creating UML-RT models using the elements and diagrams defined in the UML-RT; generating complete code implementations (applications) for those models; executing, testing, and debugging models at the modelling language level using visual observation tools.
In UML-RT the three principle constructs for modelling structure are capsules, ports, and connectors. UML-RT is a profile that extends UML with stereotyped active objects, called capsules, to represent system components. The internal behavior of a capsule is defined using statecharts; its interaction with other capsules takes place by means of protocols that define the sequence of signals exchanged through stereotyped objects called ports. The UML-RT profile defines a model with precise execution semantics; hence it is suitable to capture system behavior and support simulation or synthesis tools (e.g., Rose RT).
The fundamental modelling constructs of UML-RT are capsules. They are possibly distributed architectural active objects that interact with other capsules exclusively through one or more ports. The behaviour of a capsule is modelled in the state transition diagram that can process (send and receive) messages via their ports, while its (hierarchical) structure is modelled in the capsule structure diagram.
Messages are sent to and received from capsule instances through objects known as ports. Ports connected to a state machine of a capsule (end port) can handle messages sent to them.
The key communication relationships between capsule roles are captured by connectors. They interconnect capsule roles that have similar public interfaces through ports.
They define a set of messages exchanged between a set of capsules. Messages are defined from the perspective of both the receiver and the sender.
The behaviour of a real-time model is composed of periodic independent tasks with three homogeneous processors. A real-time system must be analysed to ensure that all the tasks are schedulable. A multiprocessor system is modelled with active objects called capsules in UML-RT and shown in Figure
Ports and capsules used in modelling multiprocessor architecture.
Capsule | Input ports | Output ports |
---|---|---|
gentask | gin | gout |
scheduler | p1in, p2in, p3in, and sin | p1out, p2out, p3out, and sout |
processor1 | pin11 | pout11 |
processor2 | pin22 | pout22 |
processor3 | pin33 | pout33 |
Multiprocessor system modelled in UML-RT.
This is the task activation model where task sets are generated. The tasks to be scheduled are triggered in the “gentask” capsule. The output port “gout” of the “gentask” capsule is connected to the input port “sin” of the “scheduler” capsule. The input port “gin” of the “gentask” capsule is connected to the output port “sout” of the “scheduler” capsule.
In “scheduler” capsule, priorities are assigned to each task and tasks are scheduled as per the algorithm.
The output port “p1out” of the “scheduler” capsule is connected to the input port “pin11” of the “processor1” capsule. Likewise, the output port “pout11” of the “processor1” capsule is connected to the input port “p1in” of the “scheduler” capsule.
The output port “p2out” of the “scheduler” capsule is connected to the input port “pin22” of the “processor2” capsule. Likewise, the output port “pout22” of the “processor2” capsule is connected to the input port “p2in” of the “scheduler” capsule.
The output port “p3out” of the “scheduler” capsule is connected to the input port “pin33” of the “processor3” capsule. Likewise, the output port “pout33” of the “processor3” capsule is connected to the input port “p3in” of the “scheduler” capsule.
For a periodic task system, let task set
The scheduling strategy of a task to be schedulable in an “
Work area in multiprocessor architecture.
The work load in
Work load of other tasks in work area
The total work contributed in the work area
Theorems and lemmas are analyzed considering that the entire task contributes maximum in the work area, and task
The maximum computation times are assigned as
Equation (
The final work contributions are bounded by the second term in the RHS of (
An optimum condition for the highest priority task
To prove (
Tasks in execution before
Therefore, initial work contributed by
To Prove by contradiction, if highest priority task
Work area
Maximum waiting time
To prove consider, consider
Tasks in execution before
Task
The maximum waiting time of periodic task
By Lemma
To prove consider, consider:
The same is considered as in Lemma
Consider Figure
“
Consider a task
To prove consider the time duration as below:
The tasks in execution before
Under pessimistic condition, it is considered that “
“
For
To prove consider the time duration as below:
Tasks in execution before
With known computation times, the aim is to design a work conserving task system to utilize the available processing capacity using RMA-SJF priority scheme. A task set is derived, which satisfies RMA-SJF from the known computation time; that is, the higher priority task possesses lesser computation time and lesser interrelease time. It is named as work area analysis (WAA), which is as follows.
The known computation timings are arranged in nondecreasing order: higher priority tasks intermediate tasks lower priority tasks
Consider
Considering (
Consider
Initially, the interrelease times are derived for tasks
For randomly generated computation times, interrelease times for tasks are derived using WAA analysis. The derived task set possesses the RMA-SJF priority scheme; that is, higher priority tasks will have lesser computation time and lesser interrelease time. The task set is analyzed for global, partitioned, and semipartitioned scheduling strategies and success ratio and effective processor utilization of tasks are analyzed.
Initially, task set is analyzed for global scheduling where tasks are assigned dynamically to the available processors.
The pseudocode for global scheduling is as shown in Pseudocode
In partitioned scheduling, tasks are first assigned to specific processors and executed without migrations. The pseudocode for partitioned scheduling is as shown in Pseudocode
In semipartitioned scheduling, some tasks are global and others are partitioned. The pseudocode for partitioned scheduling is as shown in Pseudocode
Simulation work is carried out for various load values. Figures
Success ratio of partitioned scheduling for the system load 2.94.
Success ratio of semipartitioned scheduling for the system load of 2.94.
Success ratio of global scheduling for the system load of 2.94.
Comparison of success ratio for different scheduling techniques.
Comparison of effective processor utilization for different scheduling techniques.
Global scheduling utilizes processor more efficiently when compared with partitioned and semipartitioned scheduling as analysed from Figure
Therefore, obtained results are also compared with the success ratio for the same load by Thakor and Shah [
Success ratio analyzed with EDF, D_EDF, and RMA-SJF.
Effective processor utilization analyzed with EDF, D_EDF, and RMA-SJF.
In single processor scheduling, nonpreemptiveness leads to poor task responsiveness because higher priority tasks are blocked by lower priority tasks, but, in the case of multiprocessor environment, higher priority tasks still have chance to execute in available processors. Moreover, nonpreemptiveness enjoys benefits like lower implementation complexity and lower runtime overhead [
Problem area
Set of all higher priority tasks of
Initial work for
Initial work for
Summation of all the task utilization of
Intermediate work
Latest feasible start time for
Number of intermediate tasks in
Work done by initial job, intermediate job, or final job in
Worst case latency of
Total work done by other tasks in the problem area of
Final work
Set of all lower priority tasks of
The authors declare that there is no conflict of interests regarding the publication of this paper.