Professional Documents
Culture Documents
Document of DAROC
Document of DAROC
CERTIFICATE
This is to certify that the Technical Seminar entitled “DATA ACTIVATION REPLICATED
OBJECT COMMUNICATION” is being submitted by P.Saisruthi (163T1A0579) in partial fulfillment
for the award of degree of BACHELOR OF TECHNOLOGY in COMPUTER SCIENCE AND
ENGINEERING Jawaharlal Nehru Technological University Anantapur, Ananthapuramu during the
academic year 2019-20 is a record of bonafide work carried out by him under my guidance and
supervision.
Date:
ACKNOWLEDGEMENT
1
LIST OF FIGURES
S. No Name of the Figure Page No
2
TABLE OF CONTENTS
ABSTRACT i
LIST OF FIGURES ii
1. INTRODUCTION 1
2. HISTORY 2
3. OBJECTIVES 3
7.3. Constraints: 8
8.6. DONAR 11
3
8.7. FEBAR 12
9. FE ACTIVATION CYCLE 14
12. CONCLUSION 19
13. REFERENCES 20
4
1. INTRODUCTION
Distributed software is normally inherently more complex than normal,
sequential monolithic software. The complexity arises from local issues, like buffer
and concurrency management, to network-centric problems of naming, addressing,
and message passing. Middleware solutions, like CORBA and others, have been
developed to abstract or hide some of the communication details, but the
distributed nature of the system is often still exposed and some complexity and
overhead are generally associated with such approaches. Developers must consider
aspects such as communications and scheduling in addition to the functional
algorithm of the code they are writing. For example, if a middleware solution
provides a remote procedure call (RPC) mechanism, the developer must choose
between blocking and non-blocking calls, and if non-blocking, worry about buffer
usage and synchronization upon completion. If, instead, the communication
approach is message based, the programmer must compose the message, send it,
receive the reply, and decode the reply message. All of this work is in addition to
the required implementation of the function the program or module is intended to
perform.
The concepts behind DAROC arose from the goal of eliminating the burden of
communications and scheduling from the application programmer while
maintaining performance and scalability of the system. By giving programmers the
view of communicating through shared objects, very natural interactions between
programs are facilitated. With the introduction of the single-writer rule and
activation based on data changes from data-flow and data-driven systems,
distributed systems issues such as race conditions and explicit scheduling are
eliminated. While the single writer rule for data objects (DO) may be seen by some
as a significant constraint on expressiveness, it eliminates behavior that limits
scalability or would cause significant confusion or overhead to manage.
3. OBJECTIVES
The short-term goal of DAROC is to provide a programming environment that
will allow both undergraduate and graduate students the ability to gain some
exposure and experience in programming distributed applications.
The long term goal is a bit more ambitious .The DAROC architecture will
address problems such as distributed simulation and battle management scenarios.
3.1 MAJOR DAROC OBJECTIVES
• Eliminate message-passing code implemented by the programmer,
communication achieved by the reading and writing of objects on the blackboard.
• Eliminate control component, burden of scheduling is placed on the OS not on
the application program.
• Activate functional elements in DAROC periodically or based on data changes
when performing computations.
• Reduce code complexity allowing an “average” programmer to rapidly develop
distributed applications.
• Capability for fault recovery via data replication
DAROC consists of two primary components; functional elements (FE) are
active and perform computations and analyze the system state, and the
blackboard, which is the structure that holds data objects (DO) that make up the
blackboard. Unlike functional elements, data objects are passive and do not
perform computations.
3.2 DAROC At A Glance
The desire of DAROC is to empower programmers to be able to write
components of distributed systems without being a distributed systems expert.
3.3 Goals of DAROC
● Reduce software development costs, error-proneness and inflexibility
8.2.1
Functional elements have five required parameters and as many user defined
parameters as deemed necessary by the programmer.
9. FE ACTIVATION CYCLE
10.1
12. CONCLUSION
Current distributed programming paradigms force communication and
scheduling code into the application code of the program. This method is highly
error prone due to the complexity of programming in a distributed environment
and leads to limited scalability.
DAROC, a data-activated middleware approach whose goal is to ease distributed
programming for people who are not distributed systems experts. DAROC is a
network transparent environment in which all accesses are seen as local from the
programmer’s point of view. Data-activation in a loosely based blackboard model
simplifies scheduling while providing a mechanism for data replication. The
evolving tool kit will also enhance this simple, yet powerful distributed
programming environment.