Skip to main content
Log in

Thoth – A publish/subscribe architecture for peer-to-peer tool integration

  • Special section on tool-integration applications and frameworks
  • Published:
International Journal on Software Tools for Technology Transfer Aims and scope Submit manuscript

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.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Similar content being viewed by others

References

  1. 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

  2. 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

    Article  Google Scholar 

  3. Apple Computer (1995) OpenDoc Programmer’s Guide. Addison–esley

  4. 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

  5. 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

  6. 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

    Article  Google Scholar 

  7. Bass L, Clements P, Kazman R (2003) Software architecture in practice, 2nd edn. Addison–Wesley, Reading, MA

  8. Beck K (1999) Extreme programming explained: embrace change. Addison–Wesley, Reading, MA

    Google Scholar 

  9. 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

  10. 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

  11. Braun V, Margaria T, Weise C (1997) Integrating tools in the ETI platform. Int J Softw Tools Technol Transfer 1(1–2):31–48

  12. Brockschmidt K (1995) Inside COM. Microsoft’s Component Object Model. Microsoft Press, Redmond, WA

  13. 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

  14. Clarke I, Hong T, Sandberg O, Wiley BB (2002) Protecting freedom of information online with Freenet. IEEE Internet Comput 6(1):40–49

    Article  Google Scholar 

  15. Cockburn A (2001) Agile software development: software through people. Addison–Wesley, Reading, MA

    Google Scholar 

  16. 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

  17. 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

    Google Scholar 

  18. 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

  19. 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

  20. Damm CH (2003) Collaborative software development. design and implementation of tools for object-oriented modelling. PhD thesis, University of Aarhus, Denmark

  21. 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

  22. Eugster P (2001) Type-based publish/subscribe. PhD thesis, EPFL, Lausanne, Switzerland

  23. Eugster P, Guerraoui R, Damm C (2001) On objects and events. In: Proceedings of ACM OOPSLA’2001, pp 254–269

  24. 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

  25. Fowler M (2003) The new methodology. http://martinfowler.com/articles/newMethodology.html

  26. Gamma E, Helm R, Johnson R, Vlissides J (1995) Design patterns. Elements of reusable software. Addison–Wesley, Reading, MA

  27. Gerety C (1990) HP SoftBench: a new generation of software development tools. Hewlett–Packard J 41(3):48–58

  28. 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

  29. 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

  30. 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

  31. 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

  32. Hofmeister C, Nord R, Soni D (2000) Applied software architecture. Addison–Wesley Object Technology Series

  33. OMG (2000) XML Metadata Interchange 1.0. Technical Report formal/2000-06-01, Object Management Group

  34. OMG (2000) XML Metadata Interchange 1.1. Technical Report formal/00-11-02, Object Management Group

  35. OMG (2001) Common Warehouse Metamodel specification 1.0. Technical Report ad/01-02-01, Object Management Group

  36. OMG (2001) Meta Object Facility 1.3.1. Technical Report formal/01-11-02, Object Management Group

  37. OMG (2001) Unified Modeling Language specification 1.4. Technical Report formal/01-09-67, Object Management Group

  38. OMG (2002) Common Object Request Broker Architecture: Core specification. Technical Report formal/02-12-06, Object Management Group

    Google Scholar 

  39. Oram A (ed) (2001) Peer-to-peer. Harnessing the power of disruptive technologies. O’Reilly, Sebastopol, CA

  40. Ousterhout J (1994) Tcl and the Tk Toolkit. Addison–Wesley

  41. Patrick PB (1993) CASE integration using ACA services. DIGITAL Tech J 5(2):84–99

    Google Scholar 

  42. Purtilo JM (1994) The POLYLITH software bus. ACM Trans Programm Lang Syst 16(1):151–174

    Article  Google Scholar 

  43. Reiss S (1990) Connecting tools using message passing in the FIELD environment. IEEE Softw 7(7):57–66

    Article  Google Scholar 

  44. Reiss SP (1999) The Desert environment. ACM Trans Softw Eng Methodol 8(4):297–342

    Article  Google Scholar 

  45. Rogerson D (1997) Inside COM. Microsoft’s Component Object Model. Microsoft Press, Redmond, WA

  46. 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

  47. Stapleton J (1997) DSDM Dynamic Systems Development Method: the method in practice. Addison–Wesley, Reading, MA

    Google Scholar 

  48. 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

  49. Thomas I, Nejmeh BA (1992) Definitions of tool integration for environments. IEEE Softw 9(2):29–35

    Article  Google Scholar 

  50. TIBCO (1999) TIB/Rendezvous white paper. Technical Report. http://www.rv.tibco.com/

  51. Warmer J, Kleppe A (1999) The Object Constraint Language: precise modeling with UML. Addison–Wesley, Reading, MA

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Klaus Marius Hansen.

Rights and permissions

Reprints 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

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10009-004-0156-7

Keywords

Navigation