The Community for Technology Leaders
RSS Icon
Subscribe
Issue No.02 - March/April (2011 vol.37)
pp: 247-263
Luciano Baresi , Politecnico di Milano, Milano, Italy
ABSTRACT
Service compositions suffer changes in their partner services. Even if the composition does not change, its behavior may evolve over time and become incorrect. Such changes cannot be fully foreseen through prerelease validation, but impose a shift in the quality assessment activities. Provided functionality and quality of service must be continuously probed while the application executes, and the application itself must be able to take corrective actions to preserve its dependability and robustness. We propose the idea of self-supervising BPEL processes, that is, special-purpose compositions that assess their behavior and react through user-defined rules. Supervision consists of monitoring and recovery. The former checks the system's execution to see whether everything is proceeding as planned, while the latter attempts to fix any anomalies. The paper introduces two languages for defining monitoring and recovery and explains how to use them to enrich BPEL processes with self-supervision capabilities. Supervision is treated as a cross-cutting concern that is only blended at runtime, allowing different stakeholders to adopt different strategies with no impact on the actual business logic. The paper also presents a supervision-aware runtime framework for executing the enriched processes, and briefly discusses the results of in-lab experiments and of a first evaluation with industrial partners.
INDEX TERMS
Software engineering, software/program verification, assertion checkers, assertion languages, performance, design tools and techniques, distributed/Internet-based software engineering tools and techniques.
CITATION
Luciano Baresi, "Self-Supervising BPEL Processes", IEEE Transactions on Software Engineering, vol.37, no. 2, pp. 247-263, March/April 2011, doi:10.1109/TSE.2010.37
REFERENCES
[1] Oasis Consortium, http://www.oasis-open.org/committeestc_home.php?wg_abbrev=soa-rm , 2010.
[2] B. Meyer, “Applying Design by Contract,” Computer, vol. 25, no. 10, pp. 40-51, Oct. 1992.
[3] F. Chen, M. d'Amorim, and G. Rosu, “Checking and Correcting Behaviors of Java Programs at Runtime with Java-MOP,” Electronic Notes in Theoretical Computer Science, vol. 144, no. 4, pp. 3-20, 2006.
[4] G. Alonso and C. Mohan, “WFMS: The Next Generation of Distributed Processing Tools,” Advanced Transaction Models and Architectures, Springer, 1997.
[5] L. Baresi, E. DiNitto, and C. Ghezzi, “Towards Open-World Software: Issue and Challenges,” Proc. IEEE/NASA Software Eng. Workshop, pp. 249-252, 2006.
[6] S. Weerawarana, F. Curbera, F. Leymann, T. Storey, and D. Ferguson, Web Services Platform Architecture: SOAP, WSDL, WS-Policy, WS-Addressing, WS-BPEL, WS-Reliable Messaging and More. Prentice Hall PTR, 2005.
[7] J. Evdemon, A. Arkin, A. Barreto, B. Curbera, F. Goland, G. Kartha, L. Khalaf, K. Marin, M.T. van der Rijn, and Y. Yiu, “Web Services Business Process Execution Language Version 2.0,” bPEL4WS Specification, 2007.
[8] D.C. Luckham, F.W. von Henke, B. Krieg-Brueckner, and O. Owe, ANNA: A Language for Annotating Ada Programs. Springer-Verlag New York, Inc., 1987.
[9] L. Burdy, Y. Cheon, D.R. Cok, M.D. Ernst, J.R. Kiniry, G.T. Leavens, K.R.M. Leino, and E. Poll, “An Overview of JML Tools and Applications.” Int'l J. Software Tools for Technology Transfer, vol. 7, no. 3, pp. 212-232, 2005.
[10] B. Meyer, “Applying Design by Contract.” Computer, vol. 25, no. 10, pp. 40-51, Oct. 1992.
[11] G. Kiczales, J. Lamping, A. Mendhekar, C. Maeda, C.V. Lopes, J. Loingtier, and J. Irwin, “Aspect-Oriented Programming.” Proc. 11th European Conf. Object-Oriented Programming, pp. 220-242, 1997.
[12] L. Baresi and S. Guinea, “Towards Dynamic Monitoring of WS-BPEL Processes.” Proc. Third Int'l Conf. Service Oriented Computing, pp. 269-282, 2005.
[13] L. Baresi and S. Guinea, “A Dynamic and Reactive Approach to the Supervision of BPEL Processes,” Proc. First Indian Software Eng. Conf., pp. 39-48, 2008.
[14] C. Zaniolo, S. Ceri, C. Faloutsos, R. Snodgrass, V.S. Subrahmanian, and R. Zicari, Advanced Database Systems. Morgan Kaufmann, 1997.
[15] J. Widom and S. Ceri, Active Database Systems: Triggers and Rules for Advanced Database Processing. Morgan Kaufmann, 1996.
[16] ActiveBPEL Engine Architecture, http://www.activebpel.org/docsarchitecture.html , 2008.
[17] A. Charfi and M. Mezini, “AO4BPEL: An Aspect-Oriented Extension to BPEL,” World Wide Web J., vol. 10, no. 3, pp. 309-344, 2007.
[18] G. Kiczales, E. Hilsdale, J. Hugunin, M. Kersten, J. Palm, and W.G. Griswold, “An Overview of AspectJ,” Proc. 15th European Conf. Object-Oriented Programming, pp. 327-353, 2001.
[19] SeCSE Consortium. A4.D18 Third Evaluation Report. EU IP Project Deliverable, http://www.secse-project.eu/wp-content/uploads a4d18-third-evaluation-report.pdf , 2010.
[20] L. Baresi, S. Guinea, and P. Plebani, “Policies and Aspects for the Supervision of BPEL Processes,” Proc. Int'l Conf. Advanced Information Systems Eng., J. Krogstie, A.L. Opdahl, and G. Sindre, eds., pp. 340-354, 2007.
[21] L. Baresi, S. Guinea, and M. Plebani, “Business Process Monitoring for Dependability,” Proc. Workshops Software Architectures for Dependable Systems, R. de Lemos, C. Gacek, and A.B. Romanovsky, eds., pp. 337-361, 2006.
[22] M.B. Dwyer, G.S. Avrunin, and J.C. Corbett, “Patterns in Property Specifications for Finite-State Verification,” Proc. Int'l Conf. Software Eng., pp. 411-420, 1999.
[23] F. Daniel, “A Portable Approach to Exception Handling in Workflow Management Systems,” technical report, Politecnico di Milano, Dept. di Elettronica e Informazione, 2006.
[24] M. Kim, M. Viswanathan, S. Kannan, I. Lee, and O. Sokolsky, “Java-MaC: A Run-Time Assurance Approach for Java Programs,” Formal Methods in System Design, vol. 24, no. 2, pp. 129-155, 2004.
[25] K. Havelund and G. Rosu, “An Overview of the Runtime Verification Tool Java PathExplorer,” Formal Methods in System Design, vol. 24, no. 2, pp. 189-215, 2004.
[26] J. Dowling and V. Cahill, “The K-Component Architecture Meta-Model for Self-Adaptive Software,” Proc. Third Int'l Conf. Metalevel Architectures and Separation of Crosscutting Concerns, A. Yonezawa and S. Matsuoka, eds. pp. 81-88, 2001.
[27] I. Gorton, Y. Liu, and N. Trivedi, “An Extensible, Lightweight Architecture for Adaptive J2EE Applications,” Proc. Software Eng. and Middleware Workshop, E. Wohlstadter, ed., pp. 47-54, 2006.
[28] B. Törnqvist and R. Gustavsson, “On Adaptive Aspect-Oriented Coordination for Critical Infrastructures,” Issues on Coordination and Adaptation Techniques, p. 63.
[29] N. Delgado, A.Q. Gates, and S. Roach, “A Taxonomy and Catalog of Runtime Software-Fault Monitoring Tools,” IEEE Trans. Software Eng., vol. 30, no. 12, pp. 859-872, Dec. 2004.
[30] A. Sahai, V. Machiraju, M. Sayal, L.J. Jin, and F. Casati, “Automated SLA Monitoring for Web Services,” Proc. 13th IFIP/IEEE Int'l Workshop Distributed Systems: Operations and Management —Management Technologies for E-Commerce and E-Business Applications, pp. 28-41, 2002.
[31] A. Keller and H. Ludwig, “Defining and Monitoring Service-Level Agreements for Dynamic e-Business,” Proc. 16th Conf. Systems Administration, pp. 189-204, 2002.
[32] J. Skene, D.D. Lamanna, and W. Emmerich, “Precise Service Level Agreements,” Proc. 26th IEEE CS Int'l Conf. Software Eng., pp. 179-188, 2004.
[33] S. Bajaj et al., “Web Services Policy Framework (WS-Policy),” Version, vol. 1, no. 2, 2006.
[34] A. Erradi, P. Maheshwari, and V. Tosic, “WS-Policy Based Monitoring of Composite Web Services,” Proc. IEEE European Conf. Web Services, pp. 99-108, 2007.
[35] K. Mahbub and G. Spanoudakis, “A Framework for Requirements Monitoring of Service Based Systems,” Proc. Second Int'l Conf. Service Oriented Computing, pp. 84-93, 2004.
[36] O. Moser, F. Rosenberg, and S. Dustdar, “Non-Intrusive Monitoring and Service Adaptation for WS-BPEL,” Proc. Int'l Conf. World Wide Web, J. Huai, R. Chen, H.-W. Hon, Y. Liu, W.-Y. Ma, A. Tomkins, and X. Zhang, eds., pp. 815-824, 2008.
[37] D. Ardagna, M. Comuzzi, E. Mussi, B. Pernici, and P. Plebani, “PAWS: A Framework for Executing Adaptive Web-Service Processes,” IEEE Software, vol. 24, no. 6, pp. 39-46, Nov./Dec. 2007.
[38] D. Ardagna and B. Pernici, “Adaptive Service Composition in Flexible Processes,” IEEE Trans. Software Eng., vol. 33, no. 6, pp. 369-384, June 2007.
[39] M. Colombo, E. DiNitto, and M. Mauri, “SCENE: A Service Composition Execution Environment Supporting Dynamic Changes Disciplined through Rules,” Proc. Int'l Conf. Service Oriented Computing, A. Dan and W. Lamersdorf, eds., pp. 191-202, 2006.
[40] M. Proctor, M. Neale, P. Lin, and M. Frandsen, “Drools Documentation,” vol. 1, http://labs.jboss.com/file-access/ default/ members/jbossrules/freezone/docs 3.0, 2006.
[41] L. Cavallaro and E. DiNitto, “An Approach to Adapt Service Requests to Actual Service Interfaces.” Proc. Int'l Workshop Software Eng. for Adaptive and Self-Managing Systems, pp. 129-136, 2008.
14 ms
(Ver 2.0)

Marketing Automation Platform Marketing Automation Tool