Sie sind auf Seite 1von 20

G PULLAIAH COLLEGE OF ENGINEERING AND

TECHNOLOGY(AUTONOMOUS)
Department Of Computer Science and
Engineering
DATA ACTIVATED REPLICATED OBJECT
COMMUNICATIONS
Seminar Supervisor
N Parashuram M.Tech
Asst.Professor
Presented By
B Hema
GPCET DEPT-CSE 16AT1A0526
Why DAROC Technology
Distributed software is normally 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 DAROC and
others, have been developed to abstract or hide some of the
communication details
What is DAROC Technology
⚫ DAROC is a middleware architectural model, which is loosely
based upon on the blackboard model.
⚫ This architecture will decrease distributed software
development time by abstracting away much of the
communication overhead and scheduling.
⚫ This approach will still provide a flexible architecture
framework that allow for modularity in its components, which
then in turn facilitates overall system upgrades and
modifications.

GPCET DEPT-CSE
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
distributed programming applications.

The long-term goal is a bit more ambitious. The DAROC


architecture will address problems such as distributed
simulation.

GPCET DEPT-CSE
MAJOR 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.
⚫ Reduce code complexity allowing an “average”
programmer to rapidly develop distributed applications.
⚫ Capability for fault recovery via data replication.

GPCET DEPT-CSE
DAROC Components
1.Functional elements (FE) are active and perform
computations and analyze the system state,
2. Data Object(DO) in DAROC consists of data.

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.
Software Architecture Styles
“The architectural style is a very specific solution to a particular
software which typically focuses on how to organize the code
created for the software.
Common architectural styles are:
⚫ Pipes and Filters
⚫ Layered System
⚫ Client/Server
⚫ Object Oriented
⚫ Blackboard

GPCET DEPT-CSE
Blackboard Model
The blackboard model is an opportunistic and incremental
problem solving model that defines how to organize the
sources of knowledge.
The blackboard model consists of three major components:
•Knowledge source
• Blackboard structure
• Control component

GPCET DEPT-CSE
Why Blackboard was Chosen?
The blackboard style has a big advantage when it comes to simplicity.
The blackboard style consists of one connector that all components
use, which of course is the blackboard itself. Another big advantage
is evolvability , because new types of components can be easily
written. Multiple components can read and write blackboard data and
perform their assigned computations concurrently if possible. The
DAROC architecture has a partial influence from the object oriented
approach, in that DAROC data objects consist of data and associated
operations that the functional elements can exploit in an object-
oriented fashion .A functional element can’t communicating directly
with another functional element. DAROC uses a data-activation
approach to activate functional elements , which cause functional
elements to be implicitly activated, based on changes to data object
states or periodic
GPCET DEPT-CSEchanges.
Goals Of DAROC Technology
⚫ Reduce software development costs, error-proneness and
inflexibility associated with distributed systems
applications.
⚫ Reduce code complexity so that the “average” programmer
is able to build distributed systems.
⚫ Provide a tool to prepare students for the experienced
distributed systems programmers.

GPCET DEPT-CSE
Implementation Of DAROC
Objectives:
⚫ The first objective is to eliminate message-passing code that is
written by the programmer.
Communication is achieved by the reading and writing of
objects on the blackboard. This objective was first achieved
because of the use of the underlying blackboard architecture.
⚫ The second objective is that there is no control component and
the burden of scheduling is placed on the operating system not
on the application program. DAROC is not implemented with a
control component. It uses a data-driven technique to schedule
the activation of functional elements.

GPCET DEPT-CSE
⚫ The third objective is that DAROC uses data-driven
activations as opposed to an event driven approach. In
DAROC, the data-activation approach is implemented via a list
of input conditionals associated with each data object in a
functional elements subscription list. When a data object is
changed, the input conditional for that data object is changed in
the subscription list. The functional element continuously
checks the input conditionals of its subscription list until all
have been updated since the last activation.
⚫ The final objective of DAROC is to provide fault recovery
capability via data replication. The DAROC space that makes
up the blackboard contains all the state information of the
system. No state information is to be stored in the functional
elements.

GPCET DEPT-CSE
External Architecture Details
Data Object
DAROC currently supports data objects defined as any
standard ANSI/ISO C++ data type such as integers, floats,
doubles, characters, and arrays. However, these data types must
be wrapped in a trivial abstract data class to be able to be
integrated into DAROC. The “build” function is part of
DAROC and is used to build and initialize the DAROC
components around the newly created object. DAROC fully
supports any abstract data type the user creates.
Data object is stored contiguously in memory, so that pointers
have no meaning in the memory space of distributed machines.

GPCET DEPT-CSE
Functional Elements
Functional elements are always created as an abstract data
type. They are the active entities in a DAROC system and
compose the distributed application software. The scheduling
of FEs is managed by the middleware, and FEs are not
designed to be continuously running programs, but programs
that are activated when needed, at which point, they perform
their function and then deactivate until the next time they are
needed. There is no limit to the size and complexity of an FE.

GPCET DEPT-CSE
Single Writer Rule (SWR)
DAROC is implemented with a single-writer rule as part of the
application implementation. This simple means that only one
functional element may write to a particular data object at all
times. There can never be a situation where two different
functional elements may need to write to the same data object.
By implementing a single writer rule, we eliminate race condition
ambiguity, and complex locking mechanisms found in other
distributed frameworks that allow the capability of shared
writes.

GPCET DEPT-CSE
FE Activation Cycle
The FE handler is the initial point of control when the FE is
created. Assuming the functional element if not periodic based ,it
will continuously check the data objects in its input list.The
handler stores these copies in the buffer labeled FEBAR in right
before the application function is started. Once they all have been
updated since the last activation , the input condition parameter is
set to true and control is passed to the user execution logic which
is just the application function. Once the application function
completes, control is passed back to the FE handler, which
subsequently writes back the newly calculated data objects to the
blackboard.

GPCET DEPT-CSE
GPCET DEPT-CSE
Error Manager
The error manager data member is just an array of strings that
contain the statically defined messages. Error messages can be
called using the send member function with the appropriate
index and any additional information can passed to the function
as a string in the second parameter.
Donor
The DONAR acts as a local name services manager. All data
objects that are created on a node register themselves with the
DONAR. When a functional element needs to find the address
of data object it sends its request to the DONAR. The DONAR
is nothing more than a global link list of data objects on that
particular node.

GPCET DEPT-CSE
Performance and Bottlenecks
There are three components in the DAROC architecture that
can be a future source of bottlenecks that result in performance
hits.
DAROC Bottlenecks:
• Centralized Name Services
• Blocking Lock Mechanism
• Inflexibility of Functional Element Activation’s
• Copies of Data Objects

GPCET DEPT-CSE
Thank you

Das könnte Ihnen auch gefallen