The Community for Technology Leaders
RSS Icon
Issue No.03 - July-September (2010 vol.3)
pp: 236-249
Tae-Hyung Kim , Digital Media & Communications R & D Center, Suwon
Carl K. Chang , Iowa State University, Ames
Simanta Mitra , Iowa State University, Ames
We propose a design methodology, Service-Oriented Design with Aspects (SODA), for service-oriented systems to address the need to continually upgrade and evolve services while maintaining various versions. Our approach treats aspects as first-class design elements and consistently applies the concept of aspect to all phases of design and evaluation. At the early design stages, crosscutting concerns are first separated out as aspects, and then, services are composed by weaving the different design elements together. The behavior of aspects and services is represented as basic Petri Nets and we present rules for weaving together Petri Nets so as to obtain behavior of the integrated system (with aspects crosscutting services). Even at the evaluation stages, performance and resource data are separated out as aspects to be woven in to the design so as to enable advanced analysis using Petri Net tools. A small order service example is used to illustrate our approach.
Service models, service versioning, service management, optimization of services systems, distributed/Internet-based software engineering tools and techniques.
Tae-Hyung Kim, Carl K. Chang, Simanta Mitra, "Design of Service-Oriented Systems Using SODA", IEEE Transactions on Services Computing, vol.3, no. 3, pp. 236-249, July-September 2010, doi:10.1109/TSC.2010.2
[1] T. Andrews, F. Curbera, H. Dholakia, Y. Goland, J. Klein, F. Leymann, K. Liu, D. Roller, D. Smith, S. Thatte, I. Trickovic, and S. Weerawarana, "Business Process Execution Language for Web Services (BPEL4WS) Specification Version 1.1," ws-bpel, May 2003.
[2] J. Baik, N. Eickelmann, and C. Abts, "Empirical Software Simulation for COTS Glue Code Development and Integration," Proc. 25th Ann. Int'l Computer Software and Application Conf. (COMPSAC '01), pp. 297-302, Oct. 2001.
[3] L. Baresi, R. Heckel, S. Thöne, and D. Varró, "Modeling and Validation of Service-Oriented Architectures: Application vs. Style," Proc. Ninth European Software Eng. Conf. held jointly with 11th ACM SIGSOFT Int'l Symp. Foundations of Software Eng. (ESEC/FSE '03), pp. 68-77, Sept. 2003.
[4] M. Blow, Y. Goland, M. Kloppmann, F. Leymann, G. Pfau, D. Roller, and M. Rowley, "BPELJ: BEPL for Java," , Mar. 2004.
[5] J. Čapek, "StpnPlay: A Stochastic Petri Net Modeling and Simulation Tool,", Feb. 2002.
[6] A. Charfi and M. Mezini, "Aspect-Oriented Web Service Composition with AO4BPEL," Proc. European Conf. Web Services (ECOWS '04), pp. 168-182, Sept. 2004.
[7] C.K. Chang and S. Kim, "I3: A Petri-Net Based Specification Method for Architectural Components," Proc. 23rd Ann. Int'l Computer Software and Application Conf. (COMPSAC '99), pp. 396-402, 1999.
[8] M. Deubler, J. Grünbauer, G. Popp, G. Wimmel, and C. Salzmann, "Toward a Model-Based and Incremental Development Process for Service-Based Systems," Proc. IASTED Int'l Conf. Software Eng. (SE '04), pp. 183-188, Feb. 2004.
[9] A.K. Dey, "Understanding and Using Context," Personal and Ubiquitous Computing, vol. 5, pp. 4-7, 2001.
[10] J. Grundy, T. Panas, S. Singh, and H. Stöckle, "An Approach to Developing Web Service with Aspect-Oriented Component Engineering," Proc. Second Nordic Conf., http://www.cs.auckland. ncws2003.pdf, 2003.
[11] J. Grundy, "Aspect-Oriented Requirements Engineering for Component-Based Software Systems," Proc. IEEE Int'l Symp. Requirements Eng., pp. 84-91, 1999.
[12] Imperial College DoC MSc Group and MSc Individual Project, Platform Independent Petri Net Editor (PIPE), http:/pipe2., Mar. 2007.
[13] G. Kiczales, J. Lamping, A. Mendhekar, C. Maeda, C.V. Lopes, J.-M. Loingtier, and J. Irwin, "Aspect-Oriented Programming," Proc. European Conf. Object-Oriented Programming (ECCOP '97), pp. 222-242, 1997.
[14] G. Kiczales, E. Hilsdale, J. Hugunin, M. Kersten, J. Palm, and W.G. Griswold, "An Overview of AspectJ," Proc. European Conf. Object-Oriented Programming (ECOOP), pp. 327-353, 2001.
[15] I.H. Krüger and R. Mathew, "Systematic Development and Exploration of Service-Oriented Software Architectures," Proc. Fourth Working IEEE/IFIP Conf. Software Architecture (WISCA '04), pp. 177-187, June 2004.
[16] T.-H. Kim and C.K. Chang, "Service-Oriented Design with Aspects (SODA)," Proc. Int'l Conf. Services Computing (SCC '05), vol. 1, pp. 319-322, 2005.
[17] T. Murata, "Petri Nets: Properties, Analysis and Applications," Proc. IEEE, vol. 77, no. 4, pp. 541-580, Apr. 1989.
[18] G. Mussbacher, "Aspect-Oriented User Requirements Notation: Aspects in Goal and Scenario Models," Proc. Models in Software Eng.: Workshops and Symp. at MoDELS '07, 305-316, 2008.
[19] "Object Management Group (OMG), Unified Modeling Language (UML) 2.0 Specifications," , Aug. 2005.
[20] M.P. Papazoglou, "The Challenges of Service Evolution," Proc. 20th Int'l Conf. Advanced Information Systems Eng., pp. 1-15, June 2008.
[21] M.P. Papazoglou, "Service-Oriented Computing: Concepts, Characteristics and Directions," Proc. Fourth Int'l Conf. Web Information Systems Eng. (WISE '03), pp. 3-12, Dec. 2003.
[22] Petri Net Markup Language (PNML) Homepage, http://www. , Jan. 2006.
[23] K. Schmidt and C. Stahl, "A Petri Net Semantics for BPEL4WS— Validation and Application," Proc. 11th Workshop Algorithms and Tools for Petri Nets (AWPN '04), pp. 1-6, Sept. 2004.
[24] O. Zimmermann, P. Krogdahl, and C. Gee, "Elements of Service-Oriented Analysis and Design," libraryws-soad1, June 2004.
[25] W.M.P. van del Aalst, K.M. van Hee, and C.J. Houben, "Modelling and Analysing Workflow Using a Petri-Net Based Approach," Proc. Second Workshop Computer-Supported Cooperative Work, Petri Nets and Related Formalisms, pp. 31-50, 1994.
[26] M. Weiss, B. Esfandiari, and Y. Luo, "Towards a Classification of Web Service Feature Interactions," Computer Networks, vol. 51, no. 2, 359-381, 2007.
[27] World Wide Web Consortium (W3C) Recommendation, XML Transformation (XSLT) Version 2.0,, Jan. 2007.
[28] World Wide Web Consortium (W3C) Recommendation, XQuery 1.0: An XML Query Language,, Jan. 2007.
[29] C. Zhang and H.-A. Jacobsen, "Quantifying Aspects in Middleware Platforms," Proc. Int'l Conf. Aspect Oriented Software and Development (AOSD), pp. 130-139, 2003.
[30] H. Zhu and L. Shan, "Modelling Web Services in the Agent-Oriented Modelling Language and Environment CAMLE," Int'l J. Simulation and Process Modeling, vol. 3, nos. 1/2, pp. 26-44, 2007.
[31] T.-H. Kim, "Service-Oriented Design in Aspect-Oriented and Petri Net Based Approach," PhD thesis, Iowa State Univ., 2007.
21 ms
(Ver 2.0)

Marketing Automation Platform Marketing Automation Tool