Abstract
In experimental, iterative, and incremental development, the ad hoc use, and consequently integration, of heterogeneous tools supporting actual activities is crucial. This article looks at how peer-to-peer technologies may support such integration scenarios and introduces an architecture, Thoth, for peer-to-peer tool integration built on a publish/subscribe communication abstraction. Seen from an execution viewpoint, the Thoth architecture provides a simple platform for integration in which responsibility for integration is located at peers. Seen from a logical perspective, the Thoth architecture provides a set of object-oriented abstractions for an integration protocol. We present Thoth by means of two case studies of integration.
Similar content being viewed by others
References
Altherr M, Erzberger M, Maffeis S (1999) iBus – a software bus middleware for the Java platform. In: Proceedings of the workshop on reliable middleware systems of IEEE SRDS’99, pp 43–53
Anderson DP, Cobb J, Korpela E, Lebofsky M, Werthimer D (2002) SETI@home: an experiment in public-resource computing. Commun ACM 45(11):56–61
Apple Computer (1995) OpenDoc Programmer’s Guide. Addison–esley
Awerbuch B, Tutu C (2002) Maintaining database consistency in peer to peer networks. Technical Report CNDS-2002-2, Department of Computer Science, Johns Hopkins University, Baltimore, MD
Baehni S, Eugster P, Guerraoui R (2002) OS support for P2P programming: a case for TPS. In: Proceedings of the IEEE conference on distributed computing systems (ICDCS), pp 355–362
Barrett DJ, Clarke LA, Tarr PL, Wise AE (1996) A framework for event-based software integration. ACM Trans Softw Eng Methodol 5(4):378–421
Bass L, Clements P, Kazman R (2003) Software architecture in practice, 2nd edn. Addison–Wesley, Reading, MA
Beck K (1999) Extreme programming explained: embrace change. Addison–Wesley, Reading, MA
Boger M, Jeckle M, Mueller S, Fransson J (2002) Diagram interchange for UML. In: Proceedings of UML. Springer, Berlin Heidelberg New York, pp 398–411
Boudier G, Gallo F, Minot R, Thomas I (1988) An overview of PCTE and PCTE+. In: Proceedings of the 3rd ACM SIGSOFT/SIGPLAN software engineering symposium on practical software development environments. ACM Press, New York, pp 248–257
Braun V, Margaria T, Weise C (1997) Integrating tools in the ETI platform. Int J Softw Tools Technol Transfer 1(1–2):31–48
Brockschmidt K (1995) Inside COM. Microsoft’s Component Object Model. Microsoft Press, Redmond, WA
Carzaniga A, Rosenblum D, Wolf A (2000) Achieving scalability and expressiveness in an Internet-scale event notification service. In: Proceedings of ACM PODC, pp 219–227
Clarke I, Hong T, Sandberg O, Wiley BB (2002) Protecting freedom of information online with Freenet. IEEE Internet Comput 6(1):40–49
Cockburn A (2001) Agile software development: software through people. Addison–Wesley, Reading, MA
Cugola G, Nitto E, Fuggetta A (1998) Exploiting an event-based infrastructure to develop complex distributed systems. In: Proceedings of ICSE’98, pp 261–270
Damm C, Hansen K, Thomsen M (2000) Tool support for object-oriented cooperative design: gesture-based modeling on an electronic whiteboard. In: Proceedings of CHI 2000, ACM conference on human factors in computing systems. CHI Lett 2(1):518–525
Damm C, Hansen K, Thomsen M, Tyrsted M (2000) Creative object-oriented modelling: support for creativity, flexibility, and collaboration in CASE tools. In: Proceedings of ECOOP’2000, pp 27–43
Damm C, Hansen K, Thomsen M, Tyrsted M (2000) Tool integration: experiences and issues in using XMI and component technology. In: Proceedings of TOOLS Europe’2000, pp 94–107
Damm CH (2003) Collaborative software development. design and implementation of tools for object-oriented modelling. PhD thesis, University of Aarhus, Denmark
Edwards WK, Newman MW, Sedivy JZ, Smith TF, Balfanz D, Smetters DK, Wong HC, Izadi S (2002) Using Speakeasy for ad hoc peer-to-peer collaboration. In: Proceedings of the 2002 ACM conference on computer supported cooperative work. ACM Press, New York, pp 256–265
Eugster P (2001) Type-based publish/subscribe. PhD thesis, EPFL, Lausanne, Switzerland
Eugster P, Guerraoui R, Damm C (2001) On objects and events. In: Proceedings of ACM OOPSLA’2001, pp 254–269
Fiege L, Mezini M, Mühl G, Buchmann A (2002) Engineering event-based systems with scopes. In: Proceedings of the ECOOP 2002. Springer, Berlin Heidelberg New York, pp 309–333
Fowler M (2003) The new methodology. http://martinfowler.com/articles/newMethodology.html
Gamma E, Helm R, Johnson R, Vlissides J (1995) Design patterns. Elements of reusable software. Addison–Wesley, Reading, MA
Gerety C (1990) HP SoftBench: a new generation of software development tools. Hewlett–Packard J 41(3):48–58
Grønbaek K, Gundersen K, Mogensen P, Orbaek P (2001) Interactive room support for complex and distributed design projects. In: Hirose M (ed) Proceedings of Interact’01, IFIP, pp 407–414
Grønbaek K, Kyng M, Mogensen P (1997) Toward a cooperative experimental system development approach. In: Kyng M, Mathiassen L (eds) Computers and design in context. MIT Press, Cambridge, MA, pp 201–238
Hansen KM, Damm CH (2002) Instant collaboration: using context-aware instant messaging for session management in distributed collaboration tools. In: Proceedings of NordiCHI, pp 279–282
Hansen K, Damm C (2004) Building flexible, distributed collaboration tools using type-based publish/subscribe – the Distributed Knight case. In: Proceedings of the IASTED international conference on software engineering, pp 595–600
Hofmeister C, Nord R, Soni D (2000) Applied software architecture. Addison–Wesley Object Technology Series
OMG (2000) XML Metadata Interchange 1.0. Technical Report formal/2000-06-01, Object Management Group
OMG (2000) XML Metadata Interchange 1.1. Technical Report formal/00-11-02, Object Management Group
OMG (2001) Common Warehouse Metamodel specification 1.0. Technical Report ad/01-02-01, Object Management Group
OMG (2001) Meta Object Facility 1.3.1. Technical Report formal/01-11-02, Object Management Group
OMG (2001) Unified Modeling Language specification 1.4. Technical Report formal/01-09-67, Object Management Group
OMG (2002) Common Object Request Broker Architecture: Core specification. Technical Report formal/02-12-06, Object Management Group
Oram A (ed) (2001) Peer-to-peer. Harnessing the power of disruptive technologies. O’Reilly, Sebastopol, CA
Ousterhout J (1994) Tcl and the Tk Toolkit. Addison–Wesley
Patrick PB (1993) CASE integration using ACA services. DIGITAL Tech J 5(2):84–99
Purtilo JM (1994) The POLYLITH software bus. ACM Trans Programm Lang Syst 16(1):151–174
Reiss S (1990) Connecting tools using message passing in the FIELD environment. IEEE Softw 7(7):57–66
Reiss SP (1999) The Desert environment. ACM Trans Softw Eng Methodol 8(4):297–342
Rogerson D (1997) Inside COM. Microsoft’s Component Object Model. Microsoft Press, Redmond, WA
Rowstron A, Druschel P (2001) Pastry: Scalable, distributed object location and routing for large-scale peer-to-peer systems. In: IFIP/ACM international conference on distributed systems platforms (Middleware), pp 329–350
Stapleton J (1997) DSDM Dynamic Systems Development Method: the method in practice. Addison–Wesley, Reading, MA
Taylor RN, Dashofy EM (2001) Function follows form: architecture and 21st century software engineering. In: Proceedings of the Vanderbilt workshop on new visions for software design and productivity: research and applications
Thomas I, Nejmeh BA (1992) Definitions of tool integration for environments. IEEE Softw 9(2):29–35
TIBCO (1999) TIB/Rendezvous white paper. Technical Report. http://www.rv.tibco.com/
Warmer J, Kleppe A (1999) The Object Constraint Language: precise modeling with UML. Addison–Wesley, Reading, MA
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Hansen, K. Thoth – A publish/subscribe architecture for peer-to-peer tool integration. Int J Softw Tools Technol Transfer 6, 219–230 (2004). https://doi.org/10.1007/s10009-004-0156-7
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10009-004-0156-7