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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Birman, K., Renesse, R.: Reliable Distributed Computing with the ISIS toolkit. IEEE Computer Society Press, Washington (1994)
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)
Kalantar, M., Birman, K.: Causally ordered multicast: the conservative approach. In: IEEE International Conference on Distributed Computing Systems (1999)
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)
Ban, B.: JavaGroups - A Reliable Multicast Communication Toolkit for Java (1999). http://www.cs.cornell.edu/Info/Projects/JavaGroupsNew
Felber, P., Guerraoui, R.: Programming with object groups in Corba. In: IEEE Concurrency (2000)
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)
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)
Amir, Y., Dolev, D., Kramer, S., Malki, D.: Transis: a communication subsystem for high availability. In: International Symposium on Fault-Tolerant Computing (1992)
Bhatti, N., Schlichting, R.: A system for constructing configurable high-level prototocols. In: ACM SIGCOMM Conference (1995)
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)
Sharp, D.: Avionics product line software architecture flow policies. In: Digital Avionics Systems Conference (1999)
Kiczales, G.: Aspect-oriented programming. In: European Conference on Object-Oriented Programming (ECOOP). LNCS 1241 (1997)
Pratap, R., Cytron, R.: Transport layer abstraction in event channels for embedded systems. In: LCTES (2003)
Agbaria, A., Sanders, W.H.: Application-driven coordination-free distributed check-pointing. In: IEEE International Conference on Distributed Computing Systems (2005)
Chockler, G., Kedar, I., Vitenberg, R.: Group communication frameworks: a comprehensive survey. In: ACM Computing Surveys (2001)
Jensen, P., Soparkar, N., Mathur, A.: Characterizing multicast orderings using concurrency control theory. In: International Conference on Distributed Computing Systems (1997)
Liu, L., Pu, C.: A transactional activity model for organizing open-ended cooperative activities. In: Hawaii International Conference on System Sciences (1998)
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
Ma, C., Bacon, J.: Cobea: a corba-based event architecture. In: USENIX COOTS (1998)
Guyer, S., Lin, C.: Broadway: a compiler for exploiting the domain-specific semantics of software libraries. IEEE 93, 342–357 (2005)
Francez, N., Forman, I.: Interacting Processes: A Multiparty Approach to Coordinated Distributed Programming. Addison-Wesley, Reading (1996)
Evangelist, M., Francez, N., Katz, S.: Multiparty interactions for interprocess communication and synchronization. IIEEE Trans. Software Eng. 15, 1417–1426 (1989)
Garlan, D., Allen, R.: Formalizing architectural connections. In: IEEE International Conference on Software Engineering (1994)
Luckman, D.: Specification and analysis of system architecture using Rapide. IEEE Trans. Software Eng. 21, 336–354 (1995)
Sturman, D.: Modular specification of interaction policies in distributed computing. Ph.D. thesis, University of Illinois at Urbana Champaign (1996)
Singh, G., Kumar, P.S., Zeng, Q.: Configurable event communication in Cadena. In: IEEE Conference on Real-time Applications and Systems (2004)
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)
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
Chen, L., Singh, G.: Enhancing multicast communication to support protocol design. In: IEEE International Conference on Computer Communication and Networks (2002)
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)
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)
Singh, G., Su, Y.: Region synchronization in message passing systems. In: International Conference on Parallel Processing (2002)
Su, Y.: Synchronization in Message Passing Systems. Ph.D. thesis, Kansas State University (2004)
Prakash, R., Raynal, M., Singhal, M.: An adaptive causal ordering algorithm suited to mobile computing environments. J. Parallel Distrib. Comput. 41, 190–204 (1997)
Quaireau, S., Laumay, P.: Ensuring applicative causal ordering in autonomous mobile computing. In: Workshop on Middleware for Mobile Computing (2001)
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)
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)
Lamport, L.: Time, clocks, and the ordering of events in a distributed system. Commun. ACM 21, 558–565 (1978)
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)
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)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2022 The Author(s), under exclusive license to Springer Nature Switzerland AG
About this paper
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
DOI: https://doi.org/10.1007/978-3-030-80119-9_17
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-80118-2
Online ISBN: 978-3-030-80119-9
eBook Packages: Intelligent Technologies and RoboticsIntelligent Technologies and Robotics (R0)