Skip to main content

Software Engineering with Petri Nets: A Web Service and Agent Perspective

  • Chapter
  • First Online:
Transactions on Petri Nets and Other Models of Concurrency IX

Part of the book series: Lecture Notes in Computer Science ((TOPNOC,volume 8910))

  • 536 Accesses

Abstract

The context of this paper is given through a software engineering approach that uses Petri nets as executable code. We apply the particular understanding that Petri nets are not only used to model systems for design purposes but also to implement system components. Following this approach, we develop complex Petri net-based software applications according to the multi-agent paradigm. Agent-internal as well as agent-spanning processes are implemented directly as (high-level) Petri nets. These nets are essential parts of the resulting software application – alongside other parts (operational and declarative ones), which are implemented using traditional ways of programming.

One of our goals is to open our Petri net-based agent framework Mulan/Capa so that multi-agent applications can communicate and interact with other systems – especially with Web-based applications. With this intention, we present a gateway solution to enable Petri net-based applications to access Web services as well as to offer Web services to other applications: the WebGateway. In addition to describing the WebGateway extension itself, we use its presentation to demonstrate the practicability of the Petri net-based software engineering approach in general. We emphasize the benefit of having Petri net models serve as conceptual models that progressively refine the constructed system from simple models to well-defined specifications of the systems. This improves the understanding of the systems.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Similar content being viewed by others

Notes

  1. 1.

    For more detailed information about Renew, Mulan and P\(^{*}\) aose see [5], http://www.paose.net and http://www.renew.de.

  2. 2.

    Foundation for Intelligent Physical Agents: http://www.fipa.org.

  3. 3.

    http://bpel.xml.org/.

  4. 4.

    The notion of transitions being interfaces fits nicely with an object-oriented paradigm, if one presumes that these (on one side open) transitions are one port of synchronous channels.

  5. 5.

    In the context of Mulan/Capa protocol nets (also abbreviated as simply protocols) refer to agent behavior nets, which are executed by the individual agents.

  6. 6.

    http://www.eclipse.org/jetty.

  7. 7.

    http://www.w3.org/Protocols.

  8. 8.

    http://dev.w3.org/html5/websockets/.

  9. 9.

    Uniform Resource Identifier.

  10. 10.

    JavaScript Object Notation (JSON).

  11. 11.

    http://www.oracle.com/technetwork/java/index-jsp-135475.html.

  12. 12.

    Although the soundness property is not well-defined for protocol nets, we conceive this property in analogy to soundness of workflow nets.

  13. 13.

    In fact the service takes any file type that can be read by Renew, e.g. Renew nets (.rnw), JHotDraw drawings (.draw), PNML, several diagram types used within P\(^{*}\) aose (.aip,.arm) and also Lola net files (.net). The Renew import/export system is also extensible, so any envisioned file type in the context of Petri nets and UML modeling can be easily implemented.

  14. 14.

    http://www.redmine.org/.

  15. 15.

    In black & white printing the location of the manipulated parts are still recognizable, although it becomes impossible to distinguish removals from additions.

  16. 16.

    We provide plugins for Redmine and Trac (http://trac.edgewall.org/).

  17. 17.

    http://www.paose.net/.

  18. 18.

    Although the messages could also be inspected in String representation, the UML representation is much clearer and more concise.

  19. 19.

    The service is publicly available since 2011 (see http://www.paose.net).

  20. 20.

    The Petri net is presented as a whole, in order to show the final result of the refinement process. Most of the details, such as declarations are only of minor importance. The main details are presented in a magnified version in Fig. 11 for convenient inspection.

  21. 21.

    WSDL, SOAP, UDDI (WSU).

  22. 22.

    Web Application Description Language (WADL): http://java.net/projects/wadl.

  23. 23.

    http://dev.w3.org/html5/websockets.

  24. 24.

    Service-Technology: http://service-technology.org/tools/.

References

  1. Agha, G., De Cindio, F., Rozenberg, G. (eds.): APN 2001. LNCS, vol. 2001. Springer, Heidelberg (2001)

    MATH  Google Scholar 

  2. Aghaee, S., Pautasso, C.: Mashup development with HTML5. In: Proceedings of the 3rd and 4th International Workshop on Web APIs and Services Mashups, Mashups ’09/’10, pp. 10:1–10:8. ACM, New York (2010). http://doi.acm.org/10.1145/1944999.1945009

  3. Betz, T., Cabac, L., Güttler, M.: Improving the development tool chain in the context of Petri net-based software development. In: Duvigneau, M., Moldt, D., Hiraishi, K. (eds.) Proceedings of the Petri Nets and Software Engineering, International Workshop PNSE’11. CEUR Workshop Proceedings, Newcastle upon Tyne, UK, June 2011, vol. 723, pp. 167–178. CEUR-WS.org (2011). http://CEUR-WS.org/Vol-723

  4. Betz, T., Cabac, L., Wester-Ebbinghaus, M.: Gateway architecture for Web-based agent services. In: Klügl, F., Ossowski, S. (eds.) MATES 2011. LNCS, vol. 6973, pp. 165–172. Springer, Heidelberg (2011). http://dx.doi.org/10.1007/978-3-642-24603-6_17

    Chapter  Google Scholar 

  5. Cabac, L.: Modeling Petri Net-Based Multi-Agent Applications, Agent Technology - Theory and Applications, vol. 5. Logos Verlag, Berlin (2010)

    Google Scholar 

  6. Cabac, L., Dörges, T., Duvigneau, M., Moldt, D., Reese, C., Wester-Ebbinghaus, M.: Agent models for concurrent software systems. In: Bergmann, R., Lindemann, G., Kirn, S., Pěchouček, M. (eds.) MATES 2008. LNCS (LNAI), vol. 5244, pp. 37–48. Springer, Heidelberg (2008)

    Chapter  Google Scholar 

  7. Cabac, L., Duvigneau, M., Moldt, D., Rölke, H.: Modeling dynamic architectures using nets-within-nets. In: Ciardo, G., Darondeau, P. (eds.) ICATPN 2005. LNCS, vol. 3536, pp. 148–167. Springer, Heidelberg (2005). http://dx.doi.org/10.1007/11494744_10

    Chapter  Google Scholar 

  8. Cabac, L., Duvigneau, M., Moldt, D., Wester-Ebbinghaus, M.: Towards unit testing for Java reference nets. In: Bergenthum, R., Desel, J. (eds.) Algorithmen und Werkzeuge für Petrinetze. 18. Workshop AWPN 2011, Hagen, September 2011, Tagungsband, pp. 1–6 (2011)

    Google Scholar 

  9. Cabac, L., Moldt, D., Rölke, H.: A proposal for structuring Petri net-based agent interaction protocols. In: van der Aalst, W.M.P., Best, E. (eds.) ICATPN 2003. LNCS, vol. 2679, pp. 102–120. Springer, Heidelberg (2003)

    Chapter  Google Scholar 

  10. Cabac, L., Schlüter, J.: ImageNetDiff: a visual aid to support the discovery of differences in Petri nets. In: 15. Workshop Algorithmen und Werkzeuge für Petrinetze, AWPN’08. CEUR Workshop Proceedings, vol. 380, pp. 93–98. Universität Rostock (2008). http://CEUR-WS.org/Vol-380/paper15.pdf

  11. Duvigneau, M., Moldt, D., Rölke, H.: Concurrent architecture for a multi-agent platform. In: Giunchiglia, F., Odell, J., Weiß, G. (eds.) Proceedings of the 3rd International Workshop on Agent-Oriented Software Engineering, AOSE 2002, Bologna, pp. 147–159. ACM Press (2002)

    Google Scholar 

  12. Fielding, R.T., Taylor, R.N.: Principled design of the modern Web architecture. ACM Trans. Internet Technol. 2, 115–150 (2002). http://doi.acm.org/10.1145/514183.514185

    Article  Google Scholar 

  13. Greenwood, D., Calisti, M.: Engineering Web service - agent integration. In: 2004 IEEE International Conference on Systems, Man and Cybernetics, vol. 2, pp. 1918–1925 (2004)

    Google Scholar 

  14. Hinz, S., Schmidt, K., Stahl, C.: Transforming BPEL to Petri nets. In: van der Aalst, W.M.P., Benatallah, B., Casati, F., Curbera, F. (eds.) BPM 2005. LNCS, vol. 3649, pp. 220–235. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  15. Kindler, E., Rubin, V., Wagner, R.: Component tools: integrating Petri nets with other formal methods. In: Donatelli, S., Thiagarajan, P.S. (eds.) ICATPN 2006. LNCS, vol. 4024, pp. 37–56. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  16. Köhler, M., Moldt, D., Rölke, H.: Modelling the structure and behaviour of Petri net agents. In: Colom, J.-M., Koutny, M. (eds.) ICATPN 2001. LNCS, vol. 2075, pp. 224–241. Springer, Heidelberg (2001). http://dx.doi.org/10.1007/3-540-45740-2_14

    Chapter  Google Scholar 

  17. Kummer, O., Wienberg, F., Duvigneau, M., Schumacher, J., Köhler, M., Moldt, D., Rölke, H., Valk, R.: An extensible editor and simulation engine for Petri nets: Renew. In: Cortadella, J., Reisig, W. (eds.) ICATPN 2004. LNCS, vol. 3099, pp. 484–493. Springer, Heidelberg (2004). http://dx.doi.org/10.1007/978-3-540-27793-4_29

    Chapter  Google Scholar 

  18. León Soto, E.: Agent communication using Web services, a new FIPA message transport service for jade. In: Petta, P., Müller, J.P., Klusch, M., Georgeff, M. (eds.) MATES 2007. LNCS (LNAI), vol. 4687, pp. 73–84. Springer, Heidelberg (2007). http://dx.doi.org/10.1007/978-3-540-74949-3_7

    Chapter  Google Scholar 

  19. Melliti, T., Haddad, S., Suna, A.: Web-masi: multi-agent systems interoperability using a web services based approach. In: International Conference on Intelligent Agent Technology, IEEE/WIC/ACM, pp. 739–742. IEEE Computer Society, Washington, DC (2005)

    Google Scholar 

  20. Miyamoto, T., Kumagai, S.: An agent net approach to autonomous distributed systems. In: Proceedings of 1996 IEEE Systems, Man, and Cybernetics, Beijing, China, 14–17 October 1996, pp. 3204–3209 (1996)

    Google Scholar 

  21. Moldt, D., Offermann, S., Ortmann, J.: A Petri net-based architecture for Web services. In: Cavedon, L., Kowalczyk, R., Maamar, Z., Martin, D., Müller, I. (eds.) Proceedings of the Workshop on Service-Oriented Computing and Agent-Based Engineering, SOCABE 2005, Utrecht, Netherland, 26 July 2005, pp. 33–40 (2005)

    Google Scholar 

  22. Padberg, J., Ehrig, H.: Petri net modules in the transformation-based component framework. J. Logic Algebraic Program. 97(1–2), 198–225 (2006)

    Article  MathSciNet  Google Scholar 

  23. Pautasso, C., Zimmermann, O., Leymann, F.: Restful web services vs. “big” web services: making the right architectural decision. In: Proceeding of the 17th International Conference on World Wide Web, WWW ’08, pp. 805–814. ACM, New York (2008). http://doi.acm.org/10.1145/1367497.1367606

  24. Reisig, W.: Petri nets in software engineering. In: Brauer, W., Reisig, W., Rozenberg, G. (eds.) Petri Nets: Applications and Relationships to Other Models of Concurrency. LNCS, vol. 255, pp. 62–96. Springer, Heidelberg (1987). http://dx.doi.org/10.1007/3-540-17906-2_22

    Google Scholar 

  25. Shafiq, M.O., Ding, Y., Fensel, D.: Bridging multi agent systems and Web services: towards interoperability between software agents and semantic Web services. In: 10th IEEE International Enterprise Distributed Object Computing Conference, EDOC ’06, pp. 85–96 (2006)

    Google Scholar 

  26. Valk, R.: Object Petri nets - Using the nets-within-nets paradigm. In: Desel, J., Reisig, W., Rozenberg, G. (eds.) ACPN 2003. LNCS, vol. 3098, pp. 819–848. Springer, Heidelberg (2004). http://dx.doi.org/10.1007/978-3-540-27755-2_23

    Chapter  Google Scholar 

  27. Wagner, T., Quenum, J., Moldt, D., Reese, C.: Providing an agent flavored integration for workflow management. In: Jensen, K., Donatelli, S., Kleijn, J. (eds.) ToPNoC V. LNCS, vol. 6900, pp. 243–264. Springer, Heidelberg (2012)

    Chapter  Google Scholar 

  28. Wolf, K.: Does my service have partners? In: Jensen, K., van der Aalst, W.M.P. (eds.) ToPNoC II. LNCS, vol. 5460, pp. 152–171. Springer, Heidelberg (2009). (special Issue on Concurrency in Process-Aware Information Systems)

    Chapter  Google Scholar 

Download references

Acknowledgment

We would like to thank the TGI group of the Department of Informatics, University of Hamburg and especially Dr. Daniel Moldt for the support, constructive criticism and fruitful discussions.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Lawrence Cabac .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2014 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

Betz, T., Cabac, L., Duvigneau, M., Wagner, T., Wester-Ebbinghaus, M. (2014). Software Engineering with Petri Nets: A Web Service and Agent Perspective. In: Koutny, M., Haddad, S., Yakovlev, A. (eds) Transactions on Petri Nets and Other Models of Concurrency IX. Lecture Notes in Computer Science(), vol 8910. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-662-45730-6_3

Download citation

  • DOI: https://doi.org/10.1007/978-3-662-45730-6_3

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-662-45729-0

  • Online ISBN: 978-3-662-45730-6

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics