|
| This Article | ||
| ||
| Share | ||
| Bibliographic References | ||
| Add to: | ||
| | ||
| Search | ||
| ||
| ASCII Text | x | ||
| Gianpaolo Cugola, Elisabetta Di Nitto, Alfonso Fuggetta, "The JEDI Event-Based Infrastructure and Its Application to the Development of the OPSS WFMS," IEEE Transactions on Software Engineering, vol. 27, no. 9, pp. 827-850, September, 2001. | |||
| BibTex | x | ||
| @article{ 10.1109/32.950318, author = {Gianpaolo Cugola and Elisabetta Di Nitto and Alfonso Fuggetta}, title = {The JEDI Event-Based Infrastructure and Its Application to the Development of the OPSS WFMS}, journal ={IEEE Transactions on Software Engineering}, volume = {27}, number = {9}, issn = {0098-5589}, year = {2001}, pages = {827-850}, doi = {http://doi.ieeecomputersociety.org/10.1109/32.950318}, publisher = {IEEE Computer Society}, address = {Los Alamitos, CA, USA}, } | |||
| RefWorks Procite/RefMan/Endnote | x | ||
| TY - JOUR JO - IEEE Transactions on Software Engineering TI - The JEDI Event-Based Infrastructure and Its Application to the Development of the OPSS WFMS IS - 9 SN - 0098-5589 SP827 EP850 EPD - 827-850 A1 - Gianpaolo Cugola, A1 - Elisabetta Di Nitto, A1 - Alfonso Fuggetta, PY - 2001 KW - Event-based systems KW - distributed systems KW - software architectures KW - workflow KW - business processes KW - object-orientation KW - publish/subscribe middleware. VL - 27 JA - IEEE Transactions on Software Engineering ER - | |||
Abstract—The development of complex distributed systems demands for the creation of suitable architectural styles (or paradigms) and related runtime infrastructures. An emerging style that is receiving increasing attention is based on the notion of event. In an event-based architecture, distributed software components interact by generating and consuming events. An event is the occurrence of some state change in a component of a software system, made visible to the external world. The occurrence of an event in a component is asynchronously notified to any other component that has declared some interest in it. This paradigm (usually called “publish/subscribe,” from the names of the two basic operations that regulate the communication) holds the promise of supporting a flexible and effective interaction among highly reconfigurable, distributed software components. In the past two years, we have developed an object-oriented infrastructure called JEDI (Java Event-Based Distributed Infrastructure). JEDI supports the development and operation of event-based systems and has been used to implement a significant example of distributed system, namely, the OPSS workflow management system (WFMS). The paper illustrates the main features of JEDI and how we have used them to implement OPSS. Moreover, the paper provides an initial evaluation of our experiences in using the event-based architectural style and a classification of some of the event-based infrastructures presented in the literature.
[1] A. Aiken, J.M. Hellerstein, and J. Widom, “Static Analysis Techniques for Predicting the Behavior of Active Database Rules,” ACM Trans. Database Systems (ACM TODS), vol. 20, no. 1, pp. 3-41, 1995.
[2] K. Alho, C. Lassenius, and R. Sulonen, “Process Enactment Support in a Distributed Environment,” Proc. IEEE Fourth Workshop Enabling Technologies: Infrastructure for Collaborative Enterprises, WET ICE `95, Apr. 1995.
[3] V. Ambriola, R. Conradi, and A. Fuggetta, “Assessing Process-Centered Environments,” ACM Trans. Software Eng. and Methodology, vol. 6, no. 3, July 1997.
[4] D. Arnold, B. Segall, J. Boot, A. Bond, M. Lloyd, and S. Kaplan, “Discourse with Disposable Computers: How and Why You Will Talk to Your Tomatoes,” Proc. Usenix Work Embedded Systems (ES '99), Mar. 1999.
[5] S. Bandinelli, E. Di Nitto, and A. Fuggetta, “Supporting Cooperation in the SPADE-1 Environment,” IEEE Trans. Software Eng., vol. 22, no. 12, Dec. 1996.
[6] S. Bandinelli, A. Fuggetta, and C. Ghezzi, “Process Model Evolution in the SPADE Environment,” IEEE Trans. Software Eng., Dec. 1993.
[7] G. Banavar, T. Chandra, B. Mukherjee, J. Nagarajarao, R.E. Strom, and D.C. Sturman, “An Efficient Multicast Protocol for Content-Based Publish-Subscribe Systems,” Proc. Int'l Conf. Distributed Computing Systems, 1999.
[8] S. Bandinelli, A. Fuggetta, C. Ghezzi, and L. Lavazza, “SPADE: An Environment for Software Process Analysis, Design, and Enactment,” Software Process Modelling and Technology, A. Finkelstein, J. Kramer, and B. Nuseibeh, eds., 1994.
[9] D. Barret et al., "A Framework for Event-Based Software Integration," ACM Trans. Software Eng. and Methodology, Vol. 5, No. 4, 1996, pp. 378-421.
[10] K. Birman and T. Joseph, "Reliable Communications in Presence of Failures," ACM Trans. Computing Systems, vol. 5, no. 1, pp. 47-76, 1987.
[11] G.A. Bolcer and R.N. Taylor, “Endevours: A Process System Integration Infrastructure,” Proc. IRUS Conf. Software Process Improvement, Practice, and Experience, Jan. 1997.
[12] N. Carriero and D. Gelernter, "Linda in Context," Comm. ACM, vol. 32, no. 4, Apr. 1989, pp. 444-458.
[13] S. Ceri, E. Di Nitto, A. Discenza, F. Fuggetta, and G. Valetto, “DERPA: A Generic Distributed Event-Based Reactive Processing Architecture,” technical report, Centre for Research and Training in Information Technology, Milan, Italy, 1998.
[14] G. Cugola, “Tolerating Deviations in Process Support Systems via Flexible Enactment of Process Models,” IEEE Trans. Software Eng., vol. 24, no. 11, Nov. 1998.
[15] G. Cugola, E. Di Nitto, and A. Fuggetta, “Exploting an Event-Based Infrastructure to Develop Complex Distributed Systems,” Proc. 20th Int'l Conf. Software Eng. (ICSE 98), Apr. 1998.
[16] S. Dami, J. Estublier, and M. Amiour, “APEL: A Graphical Yet Executable Formalism for Process Modeling,” Automated Software Eng. J., vol. 5, no. 1, Jan. 1998.
[17] M. Decina, E. Di Nitto, A. Fuggetta, V. Trecordi, and J. Wojtowicz, “ORCHESTRA: A Retailing Infrastructure for Network-Wide Services,” internal report, Centre for Research and Training in Information Technology, Milan, Italy, 1998.
[18] P.S. deWitte and C. Pourteau, “IDEF Enterprise Engineering Methodologies Support Simulation,” Magazine Manufacturing Systems: Information Technology for Manufacturing Managers, pp. 70-75, Mar. 1997.
[19] Digital Equipment Corporation, “DEC FUSE Handbook—Version 1.1,” Maynard, Mass., Dec. 1991.
[20] G. Eddon and H. Eddon, Inside Distributed COM. Redmond, Wash.: Microsoft Press, 1998.
[21] P. Fraternali and L. Tanca, “A Structured Approach for the Definition of the Semantics of the Active Databases,” ACM Trans. Database Systems, 1995.
[22] A. Fuggetta, G. Picco, and G. Vigna, "Understanding Code Mobility," IEEE Trans. Software Eng., May 1998, pp. 352-361.
[23] D. Georgakopoulos, M. Hornick, and A. Sheth, "An Overview of Workflow Management: From Process Modeling to Workflow Automation Infrastructure," Distributed and Parallel Databases, Vol. 3, No. 2, Apr. 1995, pp. 119-153.
[24] J.C. Grundy, M.D. Apperley, J.G. Hosking, and W.B. Mugridge, “A Decentralized Architecture for Software Process Modeling and Enactment,” IEEE Internet Computing, Sept./Oct. 1998.
[25] D. Heimbigner, “The ProcessWall: A Process Server Approach to Process Programming,” Proc. Fifth ACM/SIGSOFT Conf. Software Development Environments, pp. 9-11, Dec. 1992.
[26] M. Ramalho, “Intra and Inter-Domain Multicast Routing Protocols: A Survey and Taxonomy,” IEEE Comm. Surveys and Tutorials, Vol. 3, no. 1, Jan./Mar. 2000.
[27] G.E. Kaiser, S.E. Dossick, W. Jiang, J.J. Yang, and S.X. Ye, “WWW-Based Collaboration Environments with Distributed Tool Services,” World Wide Web, vol. 1, pp. 3-25, Jan. 1998.
[28] P.J. Kammer, G.A. Bolcer, R.N. Taylor, and A.S. Hitomi, “Supporting Distributed Workflow Using HTTP,” Proc. Fifth Int'l Conf. Software Process (ICSP' 5), June 1998.
[29] B. Krishnamurthy and D.S. Rosenblum, “Yeast: A General Purpose Event-Action System,” IEEE Trans. Software Eng., vol. 21, no. 10, Oct. 1995.
[30] L. Lamport, "Time, clocks and the ordering of events in a distributed system," Comm. ACM, vol. 21, no. 7, pp. 558-565, July 1978.
[31] D.B. Lange and D.T. Chang, “IBM Aglets Workbench—Programming Mobile Agents in Java,” IBM White Paper, Feb. 1997.
[32] S. Latrous and F. Oquendo, “A Reflective Multi-Agent System for Software Process Enaction and Evolution,” Proc. First Int'l Conf. Practical Application of Intelligent Agents and Multi-Agent Technology, Apr. 1996.
[33] T.J. Lehman, S.W. McLaughry, and P. Wyckoff, “TSpaces: The Next Wave,” Proc. Hawaii Int'l Conf. System Sciences (HICSS-32), Jan. 1999.
[34] A. Limongiello, R. Melen, M. Roccuzzo, V. Trecordi, and J. Wojtowicz, “An Experimental Open Architecture to Support Multimedia Services Based on CORBA, Java and WWW Technologies,” IS&N '97, May 1997.
[35] M. Mansouri-Samani and M. Sloman, “GEM A Generalized Event Monitoring Language for Distributed Systems,” IEE/IOP/BCS Distributed Systems Eng. J., vol. 4, no. 2, June 1997.
[36] Object Management Group, “CORBA/IIOP 2.2 Specification,” ftp://ftp.omg.org/pub/docs/formal98-07-01.pdf , Feb. 1998.
[37] Object Management Group, “CORBAservices: Common Object Services Specification,” ftp://ftp.omg.org/pub/docs/formal97-07-04.pdf , July 1997.
[38] Object Management Group, “Notification Service,” OMG TC Document telecom/99-07-01, http://www.omg.org/docs/telecom98-06-17.pdf , Aug. 1999.
[39] P. Oreizy, N. Medvidovic, and R.N. Taylor, “ArchitectureBased Runtime Software Evolution,” Proc. 20th Int'l Conf. Software Eng. 1998 (ICSE '98), Apr. 1998.
[40] OVUM, “OVUM Evaluates: Middleware,” OVUM Ltd., 1996.
[41] D. Piantanida and E. Sanvito, “JAMES—Java Meeting Scheduler,” Master Thesis (in Italian), Politecnico di Milano, Dipartimento di Elettronica e Informazione, 1999.
[42] G.P. Picco, “µCode: A Lightweight and Flexible Mobile Code Toolkit,” Proc. Second Int'l Work Mobile Agents (MA '98), K. Rothermel and F. Hohl eds., vol. 1477, pp. 160-171, Sept. 1998.
[43] S.P. Reiss, "Connecting Tools Using Message Passing in the Field Environment," IEEE Software, vol. 7, no. 4, pp. 57-66, July 1990.
[44] D.S. Rosenblum and A.L. Wolf, “A Design Framework for Internet-Scale Event Observation and Notification,” Proc. Sixth European Software Eng. Conf., (Joint with SIGSOFT '98, Foundations of Software Eng.), Sept. 1997.
[45] D.S. Rosenblum, A.L. Wolf, and A. Carzaniga, “Critical Considerations and Designs for Internet-Scale, Event-Based Compositional Architectures,” Workshop Compositional Software Architectures, Jan. 1998.
[46] B. Segall and D. Arnold, “Elvin has Left the Building: A Publish/Subscribe Notification Service with Quencing,” Proc. Australian UNIX and Open Systems User Group Conf. AUUG '97, Sept. 1997.
[47] SunSoft Inc., “Integrating Applications with the SPARCworks 3.0.1 Toolset,” SPARKworks Technical White Paper, Technical Report 801-4629-01, Jan. 1993.
[48] Sun Microsystems, “JavaBeans,” technical report, Sun Microsystem, July 1998.
[49] Sun Microsystem, “Java Message Service Specification,” technical report, Sun Microsystems, Nov. 1999.
[50] Sun Microsystems “Java Object Serialization Specification,” technical report, ftp://ftp.javasoft.com/docs/jdk1.2serial-spec-JDK1.2.pdf , Nov. 1998.
[51] Sun Microsystems, “Java Remote Method Invocation Specification,” ftp://ftp.javasoft.com/docs/jdk1.1rmi-spec.pdf , Feb. 1997.
[52] Sun Microsystems, “The JavaSpaces Specification,” http://www.sun.com/jini/specsjs101.html, Nov. 1999.
[53] S.M. Sutton, D. Heimbigner, and L.J. Osterweil, “APPL/A: A Language for Software-Process Programming,” ACM Trans. Software Eng. Methodology, vol. 4, no. 3, July 1995.
[54] K. Swenson, “Simple Workflow Access Protocol (SWAP),” Internet Draft, Aug. 1998, http://www.ietf.org/internet-draftsdraft-swenson-swap-prot-00.txt .
[55] Talarian Corporation “Mission Critical Interprocess Communications—An Introduction to Smartsockets,” White paper, 1997.
[56] R.N. Taylor, N. Medvidovic, K.M. Anderson, E.J. Whitehead Jr., J.E. Robbins, K.A. Nies, P. Oreizy, and D.L. Dubrow, “A Component-Based Architectural Style for GUI Software,” IEEE Trans. Software Eng., vol. 22, no. 6, June 1996.
[57] TIBCO “TIB/Rendezvous,” White Paper, http://www.rv.tibco.comrvwhitepaper.html .
[58] K.S. Yap, P. Tripathi, and S. Tripathi, “Fault Tolerant Remote Procedure Call,” Proc. Eigth Int'l Conf. Distributed Computing System, June 1988.
[59] X. Wang, H. Zhao, and J. Zhu, “GRPC: A Communication Cooperation Mechanism in Distributed Systems,” ACM Operating System Review, vol. 27, no. 3, 1993.
[60] WISEN 98, 1998 Workshop Interned Scale Event Notification, Irvine Research Unit on Software (IRUS), http://www.ics.uci.eduwisen, July 1998.
[61] The Workflow Management Coalition, “The Workflow Reference Model,” WFMC-TC-1003, ver. 1.1, http://www.aiim.org/wfmc/DOCS/refmodelrmv1-16.html , Nov. 1994.

