Skip to main content

The Design of Customizable Distributed Algorithms for InDiGO Framework

  • Conference paper
  • First Online:
Intelligent Computing

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

  • 2380 Accesses

Abstract

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.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 169.00
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 219.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

References

  1. Birman, K., Renesse, R.: Reliable Distributed Computing with the ISIS toolkit. IEEE Computer Society Press, Washington (1994)

    Google Scholar 

  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. Kalantar, M., Birman, K.: Causally ordered multicast: the conservative approach. In: IEEE International Conference on Distributed Computing Systems (1999)

    Google Scholar 

  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. Ban, B.: JavaGroups - A Reliable Multicast Communication Toolkit for Java (1999). http://www.cs.cornell.edu/Info/Projects/JavaGroupsNew

  6. Felber, P., Guerraoui, R.: Programming with object groups in Corba. In: IEEE Concurrency (2000)

    Google Scholar 

  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. 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. 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. Bhatti, N., Schlichting, R.: A system for constructing configurable high-level prototocols. In: ACM SIGCOMM Conference (1995)

    Google Scholar 

  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. Sharp, D.: Avionics product line software architecture flow policies. In: Digital Avionics Systems Conference (1999)

    Google Scholar 

  13. Kiczales, G.: Aspect-oriented programming. In: European Conference on Object-Oriented Programming (ECOOP). LNCS 1241 (1997)

    Google Scholar 

  14. Pratap, R., Cytron, R.: Transport layer abstraction in event channels for embedded systems. In: LCTES (2003)

    Google Scholar 

  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. Chockler, G., Kedar, I., Vitenberg, R.: Group communication frameworks: a comprehensive survey. In: ACM Computing Surveys (2001)

    Google Scholar 

  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. 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. 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). https://doi.org/10.1007/978-3-540-24721-0_11

  20. Ma, C., Bacon, J.: Cobea: a corba-based event architecture. In: USENIX COOTS (1998)

    Google Scholar 

  21. Guyer, S., Lin, C.: Broadway: a compiler for exploiting the domain-specific semantics of software libraries. IEEE 93, 342–357 (2005)

    Article  Google Scholar 

  22. Francez, N., Forman, I.: Interacting Processes: A Multiparty Approach to Coordinated Distributed Programming. Addison-Wesley, Reading (1996)

    MATH  Google Scholar 

  23. Evangelist, M., Francez, N., Katz, S.: Multiparty interactions for interprocess communication and synchronization. IIEEE Trans. Software Eng. 15, 1417–1426 (1989)

    Article  Google Scholar 

  24. Garlan, D., Allen, R.: Formalizing architectural connections. In: IEEE International Conference on Software Engineering (1994)

    Google Scholar 

  25. Luckman, D.: Specification and analysis of system architecture using Rapide. IEEE Trans. Software Eng. 21, 336–354 (1995)

    Article  Google Scholar 

  26. Sturman, D.: Modular specification of interaction policies in distributed computing. Ph.D. thesis, University of Illinois at Urbana Champaign (1996)

    Google Scholar 

  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. 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. 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). https://doi.org/10.1007/3-540-28554-7_15

  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. 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. 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. Singh, G., Su, Y.: Region synchronization in message passing systems. In: International Conference on Parallel Processing (2002)

    Google Scholar 

  34. Su, Y.: Synchronization in Message Passing Systems. Ph.D. thesis, Kansas State University (2004)

    Google Scholar 

  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)

    Article  Google Scholar 

  36. Quaireau, S., Laumay, P.: Ensuring applicative causal ordering in autonomous mobile computing. In: Workshop on Middleware for Mobile Computing (2001)

    Google Scholar 

  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. 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. Lamport, L.: Time, clocks, and the ordering of events in a distributed system. Commun. ACM 21, 558–565 (1978)

    Article  Google Scholar 

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

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Valeriy Kolesnikov .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

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

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Kolesnikov, V. (2022). The Design of Customizable Distributed Algorithms for InDiGO Framework. In: Arai, K. (eds) Intelligent Computing. Lecture Notes in Networks and Systems, vol 283. Springer, Cham. https://doi.org/10.1007/978-3-030-80119-9_17

Download citation

Publish with us

Policies and ethics