Open Access Open Access  Restricted Access Subscription Access

Modeling of Component Diagrams Using Petri Nets


Affiliations
1 Computer Engineering Department, Islamic Azad University, Maybod Branch,Yazd, Iran, Islamic Republic of
2 Computer Engineering Department, Shahid Beheshti University, Tehran, Iran, Islamic Republic of
 

With the growing use of UML diagrams for software architecture description and the importance of non-functional requirements evaluation at software architecture level, filling the scientific gap between architect and requirement analyst is considered to be significant. Software architects are not usually familiar with non-functional requirement analysis and are not able to analyze such requirements easily. On the other hand, non-functional requirements cannot be evaluated directly by UML diagrams. Therefore, the architect should annotate additional information of the nonfunctional requirements to software architecture description and then an executable model can be produced. These executable models can be petri nets, queuing networks, stochastic process algebra and etc. One kind of the UML diagrams that can be used to describe software architecture is component diagram. In this paper, we propose a new algorithm that enables an architect to transform a component diagram into an executable model based on different extensions of petri nets. Moreover, we show how to use this petri net model for performance evaluation and simulation and the implications of this transformation are described completely. Finally, to represent the usage of our proposed algorithm, we consider a case study as an example.

Keywords

Component Diagram, Non-Functional Requirements, Executable Model, Petri Nets
User

  • Andol F, Aquilani F, Balsamo S and Inverardi P (2000) Deriving performance models of software architectures from message sequence charts. Proc. of 2nd Int. Workshop on Software & Performance, ACM, Canada. pp:47-57.
  • Balsamo S and Simeoni M (2001) On transforming UML models into performance models. Tech. Report Saladin Project, Proc. of Workshop on Transformations in UML (ETAPS01). pp:1-6.
  • Bass L, Clements P and kazman R (2003) Software architecture in practice. 2nd edn., Addison Wesley, Boston.
  • Bastide R and Barboni E (2006) Software components: A formal semantics based on colored petri nets. Elec. Notes Theor. Computer Sci. 160, 57– 73.
  • Bernardi S, Donatelli S and Merseguer J (2002) From UML sequence diagrams and statecharts to analysable petri net model. Proc. 3rd Int. Workshop on Software & Performance, ACM. pp:35-45.
  • Biberstein O and Buchs D (1995) Structured algebric nets with object orientation. Workshop on Object Oriented Programming & Models of Concurrency at 16th Int. Conf. on Application & Theory of Petri Nets. pp:131-145.
  • Campbell RH and Habermann AN (1974) The specification of process synchronization by path expressions. Lecture Notes Computer Sci. Springer Verlag, 16, 89-102.
  • Clements P, kazman R and Klein M (2002) Evaluating software architecture methods and case studies. Addison Wesley, Boston.
  • Cortellessa V and Mirandola R (2000) Deriving a queueing network based performance model from UML diagrams. Proc. of the 2nd Int. Workshop on Software & Performance, ACM, Canada. pp:58-70.
  • Di Marco (2004) Model-based performance analysis of software architectures, Ph. D thesis.
  • Di Marco A and Inverardi P (2004) Compositional generation of software architecture performance QN models. 4th Working IEEE/IFIP Conf. on Software Architecture (WICSA). pp:37–46.
  • Emadi S and Shams F (2008) An approach to nonfunctional requirements analysis at software architecture level. Proc. of 8th Int. Conf. on Computer & Information Technology (IEEE, CIT'2008), Australia. pp:736-741.
  • Emadi S and Shams F (2008) An approach to nonfunctional requirements analysis at software architecture level. Engg. J. Islamic Azad Univ., Mashhad Branch (in Persian), 2(1), 65-79.
  • Emadi S and Shams F (2008) From UML component diagram to an executable model based on petri nets. Proc. of the 3rd Int. Symp. on Transformation Technol. pp:2780-2787
  • Emadi S and Shams F (2009) A new executable model for software architecture based on petri net. Indian J. Sci. Technol. 2(9), 15-25.
  • Emadi S, Shams F and Vaziri S (2008) General syntax for extensions of petri nets. Proc. of 3rd Int. Conf. on Mathematical Sciences (ICM2008). pp:1133-1138.
  • Fukuzawa K and Saeki M (2002) Evaluating software architectures by coloured petri nets. Proc. of the 14th Int. Conf. on Software Engineering & Knowledge Engineering, Ischia, Italy, ACM. pp: 263-270.
  • Gomaa A, Adam N and Atluri V (2005) Color time petri net for interactive adaptive multimedia objects, Proc. of the 11th Int. Multi-Media Modeling Conf. pp:147-157.
  • Kounev S (2006) Performance modeling and evaluation of distributed component-based systems using queueing petri nets. IEEE Trans. Software Engg. 32(7), 486-502.
  • Lauer PE (1974) Path expressions as petri nets or petri nets with fewer tears.Tech. Report MRM 70, Computing laboratory, University of Newcastle upon Tyne.
  • OMG (Object management group) (2003) OMG unified modeling language specification, version 1.5. 22. OMG-UML-SPT (2005) UML profile for schedulability, performance and time. Object management group, Version 1.1, Formal/05-01-02.
  • Shams F (1996) Modelling the Behaviour of process using collaborating objects. Ph.D Thesis, University of Manchester, London, England.
  • Silva EA, Almeida H, Silva LD and Perkusich AA (2007) Formal modelling and verification of a software component model using coloured petri nets and model checking. Proc. of 22nd Annual ACM Symp. on Appl. Computing, ACM. pp:1427-1431.

Abstract Views: 421

PDF Views: 120




  • Modeling of Component Diagrams Using Petri Nets

Abstract Views: 421  |  PDF Views: 120

Authors

Sima Emadi
Computer Engineering Department, Islamic Azad University, Maybod Branch,Yazd, Iran, Islamic Republic of
Fereidoon Shams
Computer Engineering Department, Shahid Beheshti University, Tehran, Iran, Islamic Republic of

Abstract


With the growing use of UML diagrams for software architecture description and the importance of non-functional requirements evaluation at software architecture level, filling the scientific gap between architect and requirement analyst is considered to be significant. Software architects are not usually familiar with non-functional requirement analysis and are not able to analyze such requirements easily. On the other hand, non-functional requirements cannot be evaluated directly by UML diagrams. Therefore, the architect should annotate additional information of the nonfunctional requirements to software architecture description and then an executable model can be produced. These executable models can be petri nets, queuing networks, stochastic process algebra and etc. One kind of the UML diagrams that can be used to describe software architecture is component diagram. In this paper, we propose a new algorithm that enables an architect to transform a component diagram into an executable model based on different extensions of petri nets. Moreover, we show how to use this petri net model for performance evaluation and simulation and the implications of this transformation are described completely. Finally, to represent the usage of our proposed algorithm, we consider a case study as an example.

Keywords


Component Diagram, Non-Functional Requirements, Executable Model, Petri Nets

References





DOI: https://doi.org/10.17485/ijst%2F2010%2Fv3i12%2F29851