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

Special section on tool-integration applications and frameworks
  • 53 Downloads

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.

Keywords

Tool integration Publish/subscribe Peer-to-peer computing  

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 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–53Google Scholar
  2. 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–61CrossRefGoogle Scholar
  3. 3.
    Apple Computer (1995) OpenDoc Programmer’s Guide. Addison–esleyGoogle Scholar
  4. 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, MDGoogle Scholar
  5. 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–362Google Scholar
  6. 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–421CrossRefGoogle Scholar
  7. 7.
    Bass L, Clements P, Kazman R (2003) Software architecture in practice, 2nd edn. Addison–Wesley, Reading, MAGoogle Scholar
  8. 8.
    Beck K (1999) Extreme programming explained: embrace change. Addison–Wesley, Reading, MAGoogle Scholar
  9. 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–411Google Scholar
  10. 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–257Google Scholar
  11. 11.
    Braun V, Margaria T, Weise C (1997) Integrating tools in the ETI platform. Int J Softw Tools Technol Transfer 1(1–2):31–48Google Scholar
  12. 12.
    Brockschmidt K (1995) Inside COM. Microsoft’s Component Object Model. Microsoft Press, Redmond, WAGoogle Scholar
  13. 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–227Google Scholar
  14. 14.
    Clarke I, Hong T, Sandberg O, Wiley BB (2002) Protecting freedom of information online with Freenet. IEEE Internet Comput 6(1):40–49CrossRefGoogle Scholar
  15. 15.
    Cockburn A (2001) Agile software development: software through people. Addison–Wesley, Reading, MAGoogle Scholar
  16. 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–270Google Scholar
  17. 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–525Google Scholar
  18. 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–43Google Scholar
  19. 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–107Google Scholar
  20. 20.
    Damm CH (2003) Collaborative software development. design and implementation of tools for object-oriented modelling. PhD thesis, University of Aarhus, DenmarkGoogle Scholar
  21. 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–265Google Scholar
  22. 22.
    Eugster P (2001) Type-based publish/subscribe. PhD thesis, EPFL, Lausanne, SwitzerlandGoogle Scholar
  23. 23.
    Eugster P, Guerraoui R, Damm C (2001) On objects and events. In: Proceedings of ACM OOPSLA’2001, pp 254–269Google Scholar
  24. 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–333Google Scholar
  25. 25.
    Fowler M (2003) The new methodology. http://martinfowler.com/articles/newMethodology.htmlGoogle Scholar
  26. 26.
    Gamma E, Helm R, Johnson R, Vlissides J (1995) Design patterns. Elements of reusable software. Addison–Wesley, Reading, MAGoogle Scholar
  27. 27.
    Gerety C (1990) HP SoftBench: a new generation of software development tools. Hewlett–Packard J 41(3):48–58Google Scholar
  28. 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–414Google Scholar
  29. 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–238Google Scholar
  30. 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–282Google Scholar
  31. 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–600Google Scholar
  32. 32.
    Hofmeister C, Nord R, Soni D (2000) Applied software architecture. Addison–Wesley Object Technology SeriesGoogle Scholar
  33. 33.
    OMG (2000) XML Metadata Interchange 1.0. Technical Report formal/2000-06-01, Object Management GroupGoogle Scholar
  34. 34.
    OMG (2000) XML Metadata Interchange 1.1. Technical Report formal/00-11-02, Object Management GroupGoogle Scholar
  35. 35.
    OMG (2001) Common Warehouse Metamodel specification 1.0. Technical Report ad/01-02-01, Object Management GroupGoogle Scholar
  36. 36.
    OMG (2001) Meta Object Facility 1.3.1. Technical Report formal/01-11-02, Object Management GroupGoogle Scholar
  37. 37.
    OMG (2001) Unified Modeling Language specification 1.4. Technical Report formal/01-09-67, Object Management GroupGoogle Scholar
  38. 38.
    OMG (2002) Common Object Request Broker Architecture: Core specification. Technical Report formal/02-12-06, Object Management GroupGoogle Scholar
  39. 39.
    Oram A (ed) (2001) Peer-to-peer. Harnessing the power of disruptive technologies. O’Reilly, Sebastopol, CAGoogle Scholar
  40. 40.
    Ousterhout J (1994) Tcl and the Tk Toolkit. Addison–WesleyGoogle Scholar
  41. 41.
    Patrick PB (1993) CASE integration using ACA services. DIGITAL Tech J 5(2):84–99Google Scholar
  42. 42.
    Purtilo JM (1994) The POLYLITH software bus. ACM Trans Programm Lang Syst 16(1):151–174CrossRefGoogle Scholar
  43. 43.
    Reiss S (1990) Connecting tools using message passing in the FIELD environment. IEEE Softw 7(7):57–66CrossRefGoogle Scholar
  44. 44.
    Reiss SP (1999) The Desert environment. ACM Trans Softw Eng Methodol 8(4):297–342CrossRefGoogle Scholar
  45. 45.
    Rogerson D (1997) Inside COM. Microsoft’s Component Object Model. Microsoft Press, Redmond, WAGoogle Scholar
  46. 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–350Google Scholar
  47. 47.
    Stapleton J (1997) DSDM Dynamic Systems Development Method: the method in practice. Addison–Wesley, Reading, MAGoogle Scholar
  48. 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 applicationsGoogle Scholar
  49. 49.
    Thomas I, Nejmeh BA (1992) Definitions of tool integration for environments. IEEE Softw 9(2):29–35CrossRefGoogle Scholar
  50. 50.
    TIBCO (1999) TIB/Rendezvous white paper. Technical Report. http://www.rv.tibco.com/Google Scholar
  51. 51.
    Warmer J, Kleppe A (1999) The Object Constraint Language: precise modeling with UML. Addison–Wesley, Reading, MAGoogle Scholar

Copyright information

© Springer-Verlag 2004

Authors and Affiliations

  1. 1.Computer Science DepartmentUniversity of AarhusAarhus NDenmark

Personalised recommendations