An Application Programming Interface For Developing Distributed Algorithm Along With Proposed Meta Language Concept
Index Terms: Application Programming Interface (API), Broadcasting, Compactness, Distributed Algorithms, Distributed System, Efficiency, Framework, Library, Meta language, Multicasting, Nodes, Occam, Package, Readability, Understandability, Unicasting.
Abstract: “In computer science, an application programming interface (API) is an interface that defines the ways by which an application programming may request services from libraries.” Libraries of a programming language are the list of all classes and interfaces, along with their fields, constructors and methods that are part of that language. For example, java is an object oriented programming language which has a rich set of built-in classes and interfaces packaged in the API also known as java API. Therefore, a programmer can easily borrow built-in classes or interfaces to use the fields, constructors and methods of those classes and interfaces in his or her application and is able to be free from the hazards of thinking the implementation details of those functions and constructors and writing it down to the application he or she is developing. An API  also helps a programmer to write a short and compact code, to save time of program and application development and to produce a quality code having readability and understandability than the code without having the application of API. Almost all the modern programming languages come up with the rich set of APIs. The basic difference between an API and library lies in the fact that while “API reflects the expected behaviour, library is an actual implementation of this set of rules”.  On the other hand, “the relation with framework is based on several libraries implementing several APIs but instead of normal use of an API, the access to the behaviour built into the framework is made possible by extending its contents with new classes and interfaces”. This paper presents a component of framework where the API for the distributed algorithms has been plugged into the framework so that a programmer can get services from the built- in classes and interfaces for easily understandable, compact and faster program development. Here a concept of meta language consisting of very simple constructs has been introduced in order to make the language user friendly.
 http://docs.oracle.com/javase/7/docs/api/java/util/package- summary.html
 http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/ locks/package-summary.html
 Lamport Leslie, “Time, clocks and the ordering of events in a distributed system”, Communications of the ACM, v. 21, no. 7, pp. 558-564, July 1978.
 NS-3(Statistical Framework) http://www.nsnam.org.
 Pheatt Chuck, Department of Computer Science, Emporia State University: ‘’An Easy to Use Distributed Computing Framework’’.
 Raynal Michel, Singhal Mukesh, “Logical Time: Capturing Causality in Distributed Systems”, IEEE Computer Society Press Los Alamitos, CA, USA Volume 29 Issue 2, February 1996 Page 49-56.
 Application Programming interface- Wikipedia, the free encyclopaedia en.wikipedia.org.
 Introduction to the Programming Language Occam by Dr. Daniel C. Hyde, Department of Computer Science, Bucknell University, Lewisburg, PA17837, firstname.lastname@example.org.
 Silberschatz Abraham, Galvin Peter Baer Galvin, Gagne Greg Gagne, “Distributed Synchronisation”, Operating System Principles, Wiley, John Wiley & Sons. INC.