The Design of Customizable Distributed Algorithms for InDiGO Framework

Conference paper
Part of the Lecture Notes in Networks and Systems book series (LNNS, volume 283)


This paper presents an approach to designing general purpose distributed algorithms customizable to a specific operational context within InDiGO framework. To customize algorithms, they must be expressed in a form amenable to customization. We have developed a mechanism which allows a designer to expose design knowledge related to the communication structure of an algorithm. This involves identifying the interaction sets used for communication in an algorithm, and defining the semantics of these sets in terms of queries supported by the analysis infrastructure of the InDiGO framework.


Distributed algorithms Customization InDiGO Frameworks 


  1. 1.
    Birman, K., Renesse, R.: Reliable Distributed Computing with the ISIS toolkit. IEEE Computer Society Press, Washington (1994)Google Scholar
  2. 2.
    Guerraoui, R., Schiper, A.: Consensus service: a modular approach for building fault-tolerant agreement protocols in distributed systems. In: IEEE International Symposium on Faul-Tolerant Computing Systems (1996)Google Scholar
  3. 3.
    Kalantar, M., Birman, K.: Causally ordered multicast: the conservative approach. In: IEEE International Conference on Distributed Computing Systems (1999)Google Scholar
  4. 4.
    Birman, K., Hayden, M.: The maestro group manager: a structuring tool for applications with multiple quality of service requirements. In: Technical Report TR97-1619. Cornell University, Department of Computer Science (1997)Google Scholar
  5. 5.
    Ban, B.: JavaGroups - A Reliable Multicast Communication Toolkit for Java (1999).
  6. 6.
    Felber, P., Guerraoui, R.: Programming with object groups in Corba. In: IEEE Concurrency (2000)Google Scholar
  7. 7.
    Rhee, I., Cheung, S., Hutto, P., Sunderam, V.: Group communication support for distributed collaboration systems. In: IEEE 17th International Conference on Distributed Computing Systems (1997)Google Scholar
  8. 8.
    Moser, L., Melliar-Smith, P., Agrawal, D., Budhia, R., Lingley-Papadopoulos, C.: Totem: a fault-tolerant multicast group communication system. In: Communication of the ACM, vol. 39 (1996)Google Scholar
  9. 9.
    Amir, Y., Dolev, D., Kramer, S., Malki, D.: Transis: a communication subsystem for high availability. In: International Symposium on Fault-Tolerant Computing (1992)Google Scholar
  10. 10.
    Bhatti, N., Schlichting, R.: A system for constructing configurable high-level prototocols. In: ACM SIGCOMM Conference (1995)Google Scholar
  11. 11.
    Kolesnikov, V., Singh, G.: InDiGO: an infrastructure for optimization of distributed algorithms. In: 7th International Symposium on Parallel and Distributed Computing, pp. 401–408 (2008)Google Scholar
  12. 12.
    Sharp, D.: Avionics product line software architecture flow policies. In: Digital Avionics Systems Conference (1999)Google Scholar
  13. 13.
    Kiczales, G.: Aspect-oriented programming. In: European Conference on Object-Oriented Programming (ECOOP). LNCS 1241 (1997)Google Scholar
  14. 14.
    Pratap, R., Cytron, R.: Transport layer abstraction in event channels for embedded systems. In: LCTES (2003)Google Scholar
  15. 15.
    Agbaria, A., Sanders, W.H.: Application-driven coordination-free distributed check-pointing. In: IEEE International Conference on Distributed Computing Systems (2005)Google Scholar
  16. 16.
    Chockler, G., Kedar, I., Vitenberg, R.: Group communication frameworks: a comprehensive survey. In: ACM Computing Surveys (2001)Google Scholar
  17. 17.
    Jensen, P., Soparkar, N., Mathur, A.: Characterizing multicast orderings using concurrency control theory. In: International Conference on Distributed Computing Systems (1997)Google Scholar
  18. 18.
    Liu, L., Pu, C.: A transactional activity model for organizing open-ended cooperative activities. In: Hawaii International Conference on System Sciences (1998)Google Scholar
  19. 19.
    Childs, A.: Cadena: an integrated development environment for analysis, synthesis, and verification of component-based systems. In: Wermelinger, M., Margaria, T. (eds.) FASE 2004. LNCS, vol. 2984, pp. 160–164. Springer, Heidelberg (2004).
  20. 20.
    Ma, C., Bacon, J.: Cobea: a corba-based event architecture. In: USENIX COOTS (1998)Google Scholar
  21. 21.
    Guyer, S., Lin, C.: Broadway: a compiler for exploiting the domain-specific semantics of software libraries. IEEE 93, 342–357 (2005)CrossRefGoogle Scholar
  22. 22.
    Francez, N., Forman, I.: Interacting Processes: A Multiparty Approach to Coordinated Distributed Programming. Addison-Wesley, Reading (1996)zbMATHGoogle Scholar
  23. 23.
    Evangelist, M., Francez, N., Katz, S.: Multiparty interactions for interprocess communication and synchronization. IIEEE Trans. Software Eng. 15, 1417–1426 (1989)CrossRefGoogle Scholar
  24. 24.
    Garlan, D., Allen, R.: Formalizing architectural connections. In: IEEE International Conference on Software Engineering (1994)Google Scholar
  25. 25.
    Luckman, D.: Specification and analysis of system architecture using Rapide. IEEE Trans. Software Eng. 21, 336–354 (1995)CrossRefGoogle Scholar
  26. 26.
    Sturman, D.: Modular specification of interaction policies in distributed computing. Ph.D. thesis, University of Illinois at Urbana Champaign (1996)Google Scholar
  27. 27.
    Singh, G., Kumar, P.S., Zeng, Q.: Configurable event communication in Cadena. In: IEEE Conference on Real-time Applications and Systems (2004)Google Scholar
  28. 28.
    Kumar, P.S., Zeng, Q., Singh, G.: Constraining event flow for regulation in pervasive systems. In: Third IEEE International Conference on Pervasive Computing and Communications, PERCOM 2005, pp. 314–318. IEEE Computer Society (2005)Google Scholar
  29. 29.
    Trombetti, G.: An integrated model-driven development environment for composing and validating distributed real-time and embedded systems. In: Beydeda, M.B.S., Gruhn, V. (eds.) Model-Driven Software Development, Springer, Heidelberg (2005).
  30. 30.
    Chen, L., Singh, G.: Enhancing multicast communication to support protocol design. In: IEEE International Conference on Computer Communication and Networks (2002)Google Scholar
  31. 31.
    Singh, G., Das, S.: Customizing event ordering middleware for component-based systems. In: Eighth IEEE International Symposium on Object-Oriented Real-Time Distributed Computing (ISORC 2005), pp. 359–362. IEEE Computer Society (2005)Google Scholar
  32. 32.
    Singh, G., Maddula, B., Zeng, Q.: Enhancing event channel for synchronization in object oriented distributed systems. In: IEEE International Symposium on Object Oriented Real-time Computing (2002)Google Scholar
  33. 33.
    Singh, G., Su, Y.: Region synchronization in message passing systems. In: International Conference on Parallel Processing (2002)Google Scholar
  34. 34.
    Su, Y.: Synchronization in Message Passing Systems. Ph.D. thesis, Kansas State University (2004)Google Scholar
  35. 35.
    Prakash, R., Raynal, M., Singhal, M.: An adaptive causal ordering algorithm suited to mobile computing environments. J. Parallel Distrib. Comput. 41, 190–204 (1997)CrossRefGoogle Scholar
  36. 36.
    Quaireau, S., Laumay, P.: Ensuring applicative causal ordering in autonomous mobile computing. In: Workshop on Middleware for Mobile Computing (2001)Google Scholar
  37. 37.
    Mizuno, M., Singh, G., Neilsen, M.: A structured approach to develop concurrent programs in UML. In: Third International Conference on the Unified Modeling Language (2000)Google Scholar
  38. 38.
    Singh, G., Kolesnikov, V., Das, S.: Methodologies for optimization of distributed algorithms and middleware. In: 22nd IEEE International Parallel and Distributed Processing Symposium IPDPS, Miami 2008 (2008)Google Scholar
  39. 39.
    Lamport, L.: Time, clocks, and the ordering of events in a distributed system. Commun. ACM 21, 558–565 (1978)CrossRefGoogle Scholar
  40. 40.
    Kolesnikov, V., Singh, G.: Utilizing model checking for automated optimization information discovery in InDiGO. In: 8th International Symposium on Parallel and Distributed Computing, ISPDC 2009, pp. 91–98 (2009)Google Scholar
  41. 41.
    Kolesnikov, V.: Realizing optimization opportunities for distributed applications in the middleware layer by utilizing InDiGO framework. In: 9th International Symposium on Parallel and Distributed Computing, ISPDC 2010, pp. 85–92 (2010)Google Scholar

Copyright information

© The Author(s), under exclusive license to Springer Nature Switzerland AG 2022

Authors and Affiliations

  1. 1.Sumy State UniversitySumyUkraine

Personalised recommendations