An UML Based Performance Evaluation of Real-Time Systems Using Timed Petri Net
Abstract
:1. Introduction
- To design UML/MARTE based sequence diagram metamodel and PNML metamodel.
- To design and implement ATL transformation rules and automate the mapping of the UML/MARTE sequence diagram into PNML based GSPN.
- To verify the usability of the proposed methodology using a real-time system and analysing the system performance parameters.
2. State of the Art
2.1. State of the Art: Use of Transformation Languages
2.2. State of the Art: Use of UML Profiles
2.3. State of Work: Other Related Works
3. Preliminaries
3.1. Timed Petri Net
- In(t) and Out(t), represents the multiset of input and output places of transition t, respectively
- In(t,p) and Out(p,t) represents the multiplicity of Place p in the multiset T(t)
3.2. MARTE Profile for Performance Modeling and Analysis
3.3. Metamodel
3.3.1. Sequence Diagram Metamodel
3.3.2. PNML Metamodel
4. Methodology
4.1. Implementation
- Modeling: The first step begins with modeling UML/MARTE sequence diagram in the Eclipse modeling framework and the Papyrus plug-in. The corresponding XMI file of the sequence diagram is automatically generated and is preprocessed in the next step. Figure 4 show a snapshot of the XMI representation of the UML sequence diagram.
- Input parser: The second step consists of preprocessing the generated XMI file, as it consists of several non-relevant metadata information. Only the relevant data elements belonging to a sequence diagram metamodel need to be extracted from the original XMI input file. Hence, in the second step, an input parser is implemented for extracting the required relevant information from the sequence diagram XMI file. The input parser is implemented using Java.
- ATL mapping rules: Once a preprocessed XMI file is generated, next, in the third step, a set of mapping rules are designed and implemented using ATL transformation language for mapping sequence diagram elements into PNML elements to generate and render Petri net model. The preprocessed XMI file is used as input for the ATL program.
- Output Parser: The execution of ATL program creates a XML file representing the Petri net model based upon PNML metamodel. Figure 5 shows PNML representation of Petri net model elements transition, place and arc. However, the obtained file cannot be rendered directly into the Petri net tools due to compatibility issues between Petri net tools and EMF. Hence, to overcome this issue an output parser is implemented as the last step to convert the ATL output model into the tool supported format and render the output Petri net model. The output parser is implemented using Java.
4.2. Transformation Rules
- Basic Interaction Rules:
- Rule for Interaction: In this rule a sequence diagram interaction is mapped to a Petri net model and hence for an Interaction object in sequence diagram metamodel a corresponding PetriNet object is created. The attribute name of the sequence diagram is mapped as name for Petri net model. Now the Petri net model will encapsulate the different sequence diagram elements created using the defined rules.
- Rule for Message element: This rule maps the Message element from sequence diagram metamodel. Each message has two MessageOccurences events “sendEvent” and “receiveEvent” and a message transfer operation to be considered for mapping. Mapping begins by creating a Petri net place for SendEvent followed by a transition for transfer operation and a place for receiveEven and a transition for message execution delay. Petri net arc is created between places and transitions. For example, in Figure 6, the message M1 is exchanged between Lifeline1 and Lifeline2 and for the sendEvent at Lifeline1 a place P0 is created, for receiveEvent at Lifeline2 place P1 is created and for the transfer of message, a transition T0 is created followed by transition T1 for the processing delay at the receiver is created in the Petri net model as shown in the Figure 7.
- Combined Fragment transformation Rules: The following set of rules are used for mapping different combined fragment and the interaction operand in each of the combined fragments. As shown in Figure 1 each Interaction can have zero or more InteractionFragment that is inherited by CombinedFragment. Each combined fragment is differentiated by interaction operator “interactionOp" attribute. The different combined fragment transformation rules are implemented and executed by extracting the embedded interaction operator.
- Rule for Combined fragment “alt”: Alternate fragments denoted by “alt” represent a choice of behaviour in sequence diagrams. For each interaction operand of “alt” representing this choice of behaviour a sub-Petri net model is created. We start the mapping by creating a common Petri net place (P) to represent interaction operator “alt” and for each interaction operand we create a transition (T) that can be followed by the Petri net models of other sequence diagram elements present within the interaction operand. For example, Figure 8 shows the combined fragment “alt” with two interaction operands, messages M1 and M2 in the first operand and M3 and M4 in the second operand. The corresponding Petri net model is shown in Figure 9 in which place P0 represents the beginning of interaction operator “alt” and T0 and T1 transitions represent each interaction operand. Messages M1, M2, M3, and M4 inside each interaction operands are mapped to the corresponding Petri net model of the message according to the basic interaction rule 2 represented as rectangular boxes in Figure 9.
- Rule for Combined fragment “par”: Parallel fragments denoted by “par” represents a parallel operation in sequence diagrams. For each interaction operand of “par” a sub-Petri net model is created. We start the mapping by creating a common place (P) followed by a transition (T) to represent interaction operator “par” and for each interaction operand we create a place (P) followed by a transition (T) that can be further followed by the Petri net models of other sequence diagram elements present within the interaction operand. The synchronization of parallel operations is represented by creating two places, one for each operand and a common transition connecting the places and transition using Petri net arc. For example, Figure 10 shows the combined fragment “par” with two interaction operands, messages M1 and M2 in the first operand and M3 and M4 in the second operand. The corresponding Petri net model is shown in Figure 11 in which place P0 and transition T0 represents the beginning of interaction operator “par” and place P1 and transition T1 represent one interaction operand and P2 and T2 represent another interaction operand. Messages M1, M2, M3 and M4 inside each interaction operands are mapped to the corresponding Petri net model of the message according to the basic interaction rule 2 represented as rectangular boxes in the Figure 11. The synchronization aspect is shown by the places P12 and p13 connecting the common transition T12.
- Rule for Combined fragment “loop”: Loop combined fragment denoted by “loop” represents looping operation in sequence diagrams. Mapping of “loop” begins with Place(P) followed by two transitions “(T) and (T). Transition “T” represents the true condition for the repetition of loop “N” times and transition “T” is an immediate transition that represents the exit condition for loop and is enabled when the loop has executed “N” number of times. The input arc for Transition T is mapped with a weight equal to the loop iteration count “N” and T being immediate has higher priority than T. A sub-Petri net is created according to the basic interaction rules 2 to represent the exchange of messages within the loop fragment. Under the true condition, the “T” transition is triggered and sub-Petri net is executed and repeated for “N” times and triggers T. For example, Figure 12 shows the combined fragment “loop” with two message M1 and M2 exchanged between lifelines. The corresponding Petri net model is shown in Figure 13 with place P0 representing the loop operator and transition T0 and T3 representing true and false conditions, respectively. Messages M1 and M2 are mapped to the corresponding Petri net model of the message according to the basic interaction rule 2 represented as rectangular boxes.
- Rule for Combined fragment “opt”: Option or choice combined fragment denoted by “opt” represents a choice operation in sequence diagrams with only one operand and either the operand happens or nothing happens. Mapping of “opt” begins with Place (P) followed by two transitions “(T)” and “(T)”. Transition “T” represents the true condition for the execution of the single operand and transition “T” represents the exit condition for opt under the condition being false. Following the transition “T” sub-Petri net is created according to the basic interaction rules 2 to represent the exchange of messages within the opt operand. Under the true condition the “T” transition is triggered and sub-Petri net is executed and if the condition is false then transition “T” is triggered and the opt operand is not executed. For example, the Figure 14 shows the combined fragment “opt” with two messages M1 and M2 exchanged between lifelines. The corresponding Petri net model is shown in Figure 15 with place P0 representing opt operator and transition T0 and T1 representing true and false conditions, respectively. Messages M1 and M2 are mapped to the corresponding Petri net model of the message according to the basic interaction rule 2 represented as rectangular boxes.
4.3. Composition Algorithm
- XMI IDs of message and interaction operands of combined fragments alt, par, loop and opt
- Type of the sequence diagram element: message, alt, par, loop and opt
- XMI IDs of the sequence diagram elements: message, alt, par, loop and opt
Algorithm 1 Composition Algorithm for Sub-Petri net |
Require:, , Composition Algorithm for “message" Sub-Petri net 1: for each Operator i in do 2: if then 3: for each Transition T in Petri net model do 4: If then 5: 6: end if 7: end for 8: if = ∨ = ∨ = ∨ = ∨ = then 9: for each Place P in Petri net model do 10: if then 11: 12: end if 13: end for 14: end if 15: Draw the arc between src and dst 16: end if Composition Algorithm for “alt” Sub-Petri net 17: if then 18: for each Transition T in Petri net model do 19: if then 20: 21: end if 22: if then 23: 24: end if 25: end for 26: if = ∨ = ∨ = ∨ = ∨ = then 27: for each Place P in Petri net model do 28: if then 29: 30: end if 31: end for 32: end if 33: Draw the arcs from src1 and src2 to dst 34: end if Composition Algorithm for “par" Sub-Petri net 35: if then 36: for each Transition T in Petri net model do 37: if then 38: 39: end if 40: end for 41: if = ∨ = ∨ = ∨ = ∨ = then 42: for each Place P in Petri net model do 43: if then 44: 45: end if 46: end for 47: end if 48: Draw the arcs between src and dst 49: end if 50: Composition Algorithm for “loop” Sub–Petrinet 51: if then 52: for each Transition T in Petri net model do 53: if T.label = loopt11 then 54: src = T.id 55: end if 56: end for 57: if = ∨ = ∨ = ∨ = ∨ = then 58: for each Place P in Petri net model do 59: if then 60: 61: end if 62: end for 63: end if 64: Draw the arcs between src and dst 65: end if Composition Algorithm for “par" Sub-Petri net 66: if then 67: for each Transition T in Petri net model do 68: if then 69: 70: end if 71: end for 72: if = ∨ = ∨ = ∨ = ∨ = then 73: for each Place P in Petri net model do 74: if then 75: 76: end if 77: end for 78: end if 79: Draw the arcs between src and dst 80: end if 81: end for |
4.4. Performance Analysis
5. Case Study: A Manufacturing System
- An input buffer for parts waiting for processing by C;
- An output buffer for parts completed by C;
- A Bulletin board to hold a fixed set of cards;
- Machine for processing the parts within the cell.
5.1. Implementation Details
5.2. Results
- Throughput Analysis:The throughput analysis is performed as a function of change in the number of system cards in a 2-cell Kanban system. In the 2-cell Petri net model, the throughput of timed transition T in Figure 19 represents the overall system throughput. The throughput of the transition is calculated by identifying the markings in which the transitions are enabled in the reachability graph and using Equation (5). As an example, consider the number of card as 1 in the 2-cell Petri net model and compute the throughput of the transition T. Firstly, we need to find the markings in which the transition is enabled using the reachability graph. Then, the steady state distribution of the reachable states is determined as:The rechability graph is computed using the PIPE tool supported analysis module and according to the graph the transition T is enabled only in M, M, M markings. Using the reward function in Equation (5) and average reward function in Equation (6) the throughput of the system is calculated as:Similarly, we can compute the throughput for other card counts(from 2 to 10) and the set of 10 experiments were conducted by varying the tokens count from 1 to 10 in places P4 and P11 in Figure 19.We performed a similar set of experiments on the derived Petri net model from the UML sequence diagram as shown in Figure 22. The experiments were conducted and the throughput of timed transition T of the derived Petri net is determined by varying the tokens count from 1 to 10 in places Bulletinbrd1 and Bulletinbrd2. The results in Table 3 show the variations in system throughput (i.e., transition T)for the Kanban Petri net model and the derived Petri net model (i.e., transition T).
- Utilization Analysis:The utilization of the machine is determined as a function of change in the number of system cards for a 2-cell kanban system and is calculated as follows: Firstly we determine the reachability set of the Petri net model that represents the collection of reachable states and the availability of tokens in different places at different markings. The part of the reachability set of the 2-cell Kanban system for Places P3 and P10 are shown in Table 4. The reachability set has nine markings (M0 to M8). The steady state distribution of these reachable states is mentioned in the earlier throughput analysis and the same is used for computing the utilization parameter.We conducted a set of 10 experiments by changing the tokens count from 1 to 10 in places P4 and P11 in Figure 19. As an example, consider the number of cards as 1, then find the average number of tokens in place P3 (representing the idle state of the machine in the first cell) and then compute the utilization. In Table 4 it can be seen that one token is present in place P3 for markings M, M, M, M, M, and M and thus these markings form the subset of the reachability set for which the reward function specified in Equation (2) is defined. Since there is only one token in Place P3 for each of these markings the value of “n” in the reward function in Equation (2) is one for these markings. Next, we find the average number of tokens in place P3 using the steady state distribution of these marking and Equation (4) as follows and computer the utilization:The utilization of the resource is:Similarly we compute the utilization for other card count (from 2 to 10).We performed a similar set of experiments on the derived Petri net model Figure 22 from the UML sequence diagram. The experiments were conducted and the utilization of place Machine1idle of the derived Petri net is determined by varying the tokens count from 1 to 10 in places Bulletinbrd1 and Bulletinbrd2. The results in Table 5 shows the variations in the utilization of resource (i.e., place P3)in the Kanban Petri the model and the derived Petri net model (i.e., place T). The results show that resource utilization reaches a saturation after a certain number of cards. Thus, we can use these results to predict the system behaviour and also make suitable design changes in the early stage of system development.
6. Conclusions and Future Work
Author Contributions
Funding
Conflicts of Interest
References
- Object Management Group. UML Specification, 1st ed.; Object Management Group: Needham, MA, USA, 2003. [Google Scholar]
- A Uml Profile for Marte: Modeling and Analysis of Real Time Embedded Systems. 2011. Available online: http://www.omg.org/spec/MARTE/1.1/PDF (accessed on 16 September 2019).
- Soares, J.A.C.; Lima, B.; Faria, J.P. Automatic Model Transformation from UML Sequence Diagrams to Coloured Petri Nets. In Proceedings of the 6th International Conference on Model-Driven Engineering and Software Development, Madeira, Portugal, 22–24 January 2018; pp. 668–679.
- Phartchayanusit, V.; Rongviriyapanish, S. Safety Property Analysis of Service-Oriented IoT Based on Interval Timed Coloured Petri Nets. In Proceedings of the 15th International Joint Conference on Computer Science and Software Engineering, Nakhonpathom, Thailand, 11–13 July 2018. [Google Scholar]
- Jieshi, S.; Lei, L.; Xiaoguang, H.; Guofeng, Z.; Jin, X. Evaluate Concurrent State Machine of SysML Model with Petri Net. In Proceedings of the 13th IEEE Conference on Industrial Electronics and Applications (ICIEA), Wuhan, China, 31 May–2 June 2018. [Google Scholar]
- Hassan, R.; Amrita, C. Mapping AADL to Petri Net Tool-Sets Using PNML Framework. J. Softw. Eng. Appl. 2014, 7, 920–933. [Google Scholar]
- Doc, V.V.; Thang, H.Q.; Bach, N.T. Development of the Rules for Transformation of UML Sequence Diagrams into Queueing Petri Nets. In International Conference on Industrial Networks and Intelligent Systems; Springer: Berlin/Heidelberg, Germany, 2019. [Google Scholar]
- Dan, L. QVT Based Model Transformation from Sequence Diagram to CSP. In Proceedings of the 15th IEEE International Conference on Engineering of Complex Computer Systems, Oxford, UK, 22–26 March 2010; pp. 349–354. [Google Scholar]
- Davide, B. Modeling and Analysis of safety requirements in robot navigation with an extension of UML MARTE. In Proceedings of the 2018 IEEE International Conference on Real-time Computing and Robotics, Kandima, Maldives, 1–5 August 2018. [Google Scholar] [CrossRef]
- Hutchinson, J.; Whittle, J.; Rouncefield, M. Model-driven engineering practices in industry: Social, organizational and managerial factors that lead to success or failure. Sci. Comput. Program. 2014, 89, 144–161. [Google Scholar] [CrossRef]
- Kulkarni, V. Model Driven Software Development: A Practitioner Takes Stock and Looks into Future. In European Conference on Modelling Foundations and Applications; Springer: Berlin/Heidelberg, Germany, 2013; Volume 7949, pp. 220–235. [Google Scholar] [CrossRef]
- Biehl, M. Literature Study on Model Transformations; Technical Report ISRN/KTH/MMK/R-10/07-SE; Royal Institute of Technology: Stockholm, Sweden, July 2010. [Google Scholar]
- Madhavi, K. Model Transformation Languages: State–of–the-art. Int. J. Comput. Sci. Eng. 2017, 9, 404–408. [Google Scholar]
- Erata Ferhat, C.M.; Geylani, K. D3.1.1 Review of Model-to-Model Transformation Approaches and Technologies. Text Model Synchronized Doc. Eng. Platf. 2015, 2015, 70–85. [Google Scholar]
- Marsan, M.A.; Balbo, G.; Conte, G.; Donatelli, S.; Franceschinis, G. Modelling with Generalized Stochastic Petri Nets. SIGMETRICS Perform. Eval. Rev. 1998, 26, 2. [Google Scholar] [CrossRef]
- Balbo, G. Introduction to Generalized Stochastic Petri Nets. In Formal Methods for Performance Evaluation: Proceedings of the 7th International School on Formal Methods for the Design of Computer, Communication, and Software Systems, SFM 2007, Bertinoro, Italy, 28 May–2 June 2007; Advanced Lectures; Springer: Berlin/Heidelberg, Germany, 2007; pp. 83–131. [Google Scholar] [CrossRef]
- Bézivin, J.; Jouault, F.; Rosenthal, P.; Valduriez, P. Modeling in the Large and Modeling in the Small. In Lecture Notes in Computer Science; Springer: Berlin/Heidelberg, Germany, 2003; pp. 33–46. [Google Scholar]
- Billington, J.; Christensen, S.; Van Hee, K.; Kindler, E.; Kummer, O.; Petrucci, L.; Post, R.; Stehno, C.; Weber, M. The Petri Net Markup Language: Concepts, Technology, and Tools. In Proceedings of the 24th International Conference on Applications and Theory of Petri Nets (ICATPN’03), Eindhoven, The Netherlands, 23–27 June 2003; pp. 483–505. [Google Scholar]
- Elkamel, M.; Nabil, M.; Dalal, B.; Allaoua, C. Design of ATL Rules for Transforming UML 2 Sequence Diagrams into Petri Nets. Int. J. Comput. Sci. Bus. Informatics 2013, 8, 1–21. [Google Scholar]
- Hlaoui, Y.B.; Younes, A.B.; Ben Ayed, L.J.; Fathalli, M. From Sequence Diagrams to Event B: A Specification and Verification Approach of Flexible Workflow Applications of Cloud Services Based on Meta-model Transformation. In Proceedings of the 2017 IEEE 41st Annual Computer Software and Applications Conference (COMPSAC), Turin, Italy, 4–8 July 2017; Volume 2, pp. 187–192. [Google Scholar] [CrossRef]
- Bernardi, S.; Flammini, F.; Marrone, S.; Mazzocca, N.; Merseguer, J.; Nardone, R.; Vittorini, V. Enabling the Usage of UML in the Verification of Railway Systems: The DAM-Rail Approach. Reliab. Eng. Syst. Saf. 2013, 120, 112–126. [Google Scholar] [CrossRef]
- Requeno, J.I.; Jose, M.; Simona, B. Performance Analysis of Apache Storm Applications Using Stochastic Petri Nets. In Proceedings of the 2017 IEEE International Conference on Information Reuse and Integration, San Diego, CA, USA, 4–6 August 2017; pp. 39–45. [Google Scholar]
- Cortellessa, V.; Eramo, R.; Tucci, M. Availability-Driven Architectural Change Propagation Through Bidirectional Model Transformations Between UML and Petri Net Models. In Proceedings of the 2018 IEEE International Conference on Software Architecture (ICSA), Seattle, WA, USA, 30 April–4 May 2018; pp. 125–12509. [Google Scholar] [CrossRef]
- López-Grao, J.P.; Merseguer, J.; Campos, J. From UML Activity Diagrams to Stochastic Petri Nets: Application to Software Performance Engineering. SIGSOFT Softw. Eng. Notes 2004, 29, 25–36. [Google Scholar] [CrossRef]
- Woodside, M.; Petriu, D.C.; Merseguer, J.; Petriu, D.B.; Alhaj, M. Transformation challenges: From software models to performance models. Softw. Syst. Model. 2014, 13, 1529–1552. [Google Scholar] [CrossRef] [Green Version]
- Bernardi, S.; Merseguer, J. Performance evaluation of UML design with Stochastic Well-formed Nets. J. Syst. Softw. 2007, 80, 1843–1865. [Google Scholar] [CrossRef]
- Gómez-Martínez, E.; Gonzalez-Cabero, R.; Merseguer, J. Performance assessment of an architecture with adaptative interfaces for people with special needs. Empir. Softw. Eng. 2014, 19, 1967–2018. [Google Scholar] [CrossRef] [Green Version]
- Koziolek, H.; Schlich, B.; Becker, S.; Hauck, M. Performance and Reliability Prediction for Evolving Service-Oriented Software Systems. Empir. Softw. Eng. 2012, 18. [Google Scholar] [CrossRef] [Green Version]
- Ehmes, S.; Fritsche, L.; Schurr, A. SimSG: Rule-based Simulation using Stochastic Graph Transformation. J. Object Technol. 2019, 18, 1–17. [Google Scholar] [CrossRef]
- Federico, C.; Ivano, M.; Bran, S. Execution of UML models: A systematic review of research and practice. Softw. Syst. Model. 2018, 18, 112–126. [Google Scholar]
- Billington, J.; Chen, X.; Wang, R. A Compositional Analysis Method for Petri-net Models. IEEE Access 2017, 5, 27599–27610. [Google Scholar] [CrossRef]
- Doc, V.; Nguyen, T.B.; Huynh Quyet, T. Formal Transformation from UML Sequence Diagrams to Queueing Petri Nets; IOS Press: Amsterdam, The Netherland, 2019. [Google Scholar] [CrossRef]
- Becker, S.; Koziolek, H.; Reussner, R. The Palladio component model for model-driven performance prediction. J. Syst. Softw. 2009, 82, 3–22. [Google Scholar] [CrossRef]
- Gómez-Martínez, E.; Merseguer, J. ArgoSPE: Model-based software performance engineering. In International Conference on Application and Theory of Petri Nets; Springer: Berlin/Heidelberg, Germany, 2006; pp. 401–410. [Google Scholar]
- DICE Simulation Tools—Final Version. 2017. Available online: http://wp.doc.ic.ac.uk/dice-h2020/wp-content/uploads/sites/75/2017/08/D3.4_DICE-simulation-tools-Final-version.pdf (accessed on 30 May 2020).
- Gerogiannis, V.; Kameas, A.; Pintelas, P. Comparative study and categorization of high-level petri nets. J. Syst. Softw. 1998, 43, 133–160. [Google Scholar] [CrossRef]
- Zuberek, W. Timed Petri nets definitions, properties, and applications. Microelectron. Reliab. 1991, 31, 627–644. [Google Scholar] [CrossRef]
- Murata, T. Petri nets: Properties, analysis and applications. Proc. IEEE 1989, 77, 541–580. [Google Scholar] [CrossRef]
- Hillah, L.M.; Kordon, F.; Petrucci, L.; Trèves, N. PNML Framework: An Extendable Reference Implementation of the Petri Net Markup Language. In Applications and Theory of Petri Nets; Lilius, J., Penczek, W., Eds.; Springer: Berlin/Heidelberg, Germany, 2010; pp. 318–327. [Google Scholar]
- Hillah, L.; Kindler, E.; Kordon, F.; Petrucci, L.; Tréves, N. A primer on the Petri Net Markup Language and ISO/IEC 15909-2. Petri Net Newsl. 2009, 76, 9–28, (This article was also published at the Tenth Workshop and Tutorial on Practical Use of Coloured Petri Nets and CPN Tools (CPN ’09), Århus, Denmark, October 2009, pp. 101–120). [Google Scholar]
- Steinberg, D.; Budinsky, F.; Paternostro, M.; Merks, E. EMF: Eclipse Modeling Framework; Pearson Education: London, UK, 2008. [Google Scholar]
- Dingle, N.; William, K.; Tamas, S. Pipe2: A tool for the performance evaluation of generalized stochastic petri nets. ACM Sigmetrics Perform. Eval. Rev. 2009, 36, 34–39. [Google Scholar] [CrossRef]
- Arseniy, A.; Victor, K.; Andrey, M.; Dominic, W.; Alex, Y. Improved Parallel Composition of Labelled Petri Nets. In Proceedings of the Eleventh International Conference on Application of Concurrency to System Design, Newcastle Upon Tyne, UK, 20–24 June 2011. [Google Scholar] [CrossRef] [Green Version]
- Viswanadham, N.; Narahari, Y. Performance Modeling of Automated Manufacturing Systems; Prentice-Hall, Inc.: Upper Saddle River, NJ, USA, 1992. [Google Scholar]
- Marsan, M.A.; Balbo, G.; Conte, G.; Donatelli, S.; Franceschinis, G. Modelling with Generalized Stochastic Petri Nets, 1st ed.; John Wiley & Sons, Inc.: Hoboken, NJ, USA, 1994. [Google Scholar]
- Abdul Rahman, N.; Sharif, S.; Mohamed Esa, M. Lean Manufacturing Case Study with Kanban System Implementation. Procedia Econ. Financ. 2013, 7, 174–180. [Google Scholar] [CrossRef] [Green Version]
- Li, Z. Design and Analysis of Robust Kanban System in an Uncertain Environment; KIT Scientific Publishing: Karlsruher, Germany, 2013; pp. 1–255. [Google Scholar] [CrossRef]
Concepts | MARTE STereotypes | MARTE Sub-Profile |
---|---|---|
Workload Event | <<PaRunTInstance>> | GQAM_Workload |
Run Time Instance | <<PaRunTInstance>> | UML::Classes::Kernal |
Logical Resource | <<PaLogicalResource>> | MARTE::GRM |
Units of scenario | <<PaStep>> | MARTE::GQAM |
Communication step | <<PaCommStep>> | MARTE::GQAM |
Execution Host | <<GaExecHost>> | MARTE::GRM |
Element | Description |
---|---|
Represent the bulletin board with tokens within it represents the number of the cards in the cell | |
A token here represents the condition ’cell C is idle | |
Represent the input buffer | |
A token here represents the condition ’cell C is busy | |
Represent the output buffer | |
A part and card entering input buffer: Rate assumed (1.0) | |
A machine starts the processing: Immediate transition no delay | |
A part entering the input buffer of next cell: Rate assumed (1.0) | |
Processing of parts by the machine: Rate assumed (4.0) |
Number of Cards | Throughput of the Kanban Petri Net | Throughput of the Derived Petri Net |
---|---|---|
1 | 0.36 | 0.36 |
2 | 0.54 | 0.54 |
3 | 0.65 | 0.65 |
4 | 0.72 | 0.72 |
5 | 0.76 | 0.76 |
6 | 0.79 | 0.79 |
7 | 0.82 | 0.82 |
8 | 0.84 | 0.84 |
9 | 0.85 | 0.85 |
10 | 0.87 | 0.87 |
Marking | P3 | P10 |
---|---|---|
M0 | 1 | 1 |
M1 | 0 | 1 |
M2 | 1 | 1 |
M3 | 1 | 0 |
M4 | 1 | 1 |
M5 | 0 | 0 |
M6 | 0 | 1 |
M7 | 1 | 0 |
M8 | 1 | 1 |
Number of Cards | Utilization of Place P3 | Utilization of Place Machine1idle |
---|---|---|
1 | 10% | 10% |
2 | 14% | 14% |
3 | 17% | 17% |
4 | 19% | 19% |
5 | 20% | 20% |
6 | 20% | 20% |
7 | 21% | 21% |
8 | 22% | 22% |
9 | 22% | 22% |
10 | 22% | 22% |
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations. |
© 2020 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/).
Share and Cite
Shailesh, T.; Nayak, A.; Prasad, D. An UML Based Performance Evaluation of Real-Time Systems Using Timed Petri Net. Computers 2020, 9, 94. https://doi.org/10.3390/computers9040094
Shailesh T, Nayak A, Prasad D. An UML Based Performance Evaluation of Real-Time Systems Using Timed Petri Net. Computers. 2020; 9(4):94. https://doi.org/10.3390/computers9040094
Chicago/Turabian StyleShailesh, Tanuja, Ashalatha Nayak, and Devi Prasad. 2020. "An UML Based Performance Evaluation of Real-Time Systems Using Timed Petri Net" Computers 9, no. 4: 94. https://doi.org/10.3390/computers9040094
APA StyleShailesh, T., Nayak, A., & Prasad, D. (2020). An UML Based Performance Evaluation of Real-Time Systems Using Timed Petri Net. Computers, 9(4), 94. https://doi.org/10.3390/computers9040094