GYTE - Bilgisayar Mühendisliği Bölümü
Bilgisayar Mühendisliği Bölümü
GYTE - Bilgisayar Mühendisliği Bölümü
AN ARCHITECTURE FOR NEXT GENERATION MIDDLEWARE
BIL 601ADVANCED TOPICS IN OPERATING SYSTEMS
DOĞU SIRT
DECEMBER 2013
GYTE - Bilgisayar Mühendisliği Bölümü
CONTENT
• Introduction
• Background On Reflection
• An Architecture for Reflective Middleware
• Experiments in Reflective Middleware
• Concluding Remarks
2
GYTE - Bilgisayar Mühendisliği Bölümü
INTRODUCTION
3
• The role of middleware is to present a unified programming model for coders. Also works for masking out problems of heterogenity and distribution.
• Standards should remain adaptive to new challenges ( multimedia, real time apps , mobility etc.)
• Such challenges require new approaches to be able to configure the underlying support.
• It is necessary for a system’s underlying components to be ready for inspection and adaptation at runtime.
GYTE - Bilgisayar Mühendisliği Bölümü
INTRODUCTION
4
• Current generation platforms
• Not configurable
• Black Box (details hidden)
• Propose an approach to the designing of configurable and open middleware platforms based on concept of reflection.
• Reflective architecture for next generation middleware platforms.
GYTE - Bilgisayar Mühendisliği Bölümü
BACKGROUND ON REFLECTION
Reflection Hypothesis
“In as much as a computational process can be constructed to reason about an external world in virtue of comprising an ingredient process formally manipulating representations of that world so too a computational process could be made to reason about itself in virtue of comprising and ingredient process formally manipulating representations of its own operation an structures”
(Smith 1982)
5
GYTE - Bilgisayar Mühendisliği Bölümü
BACKGROUND ON REFLECTION
• A program can access, reason about and alter its own interpretation
• Access to the interpreter is provided through a meta object protocol(MOP) which defines services available at the meta level.
• Example: Operations available at the meta level include altering the semantics of message passing over a wireless link and inserting before or after method invocations.
6
GYTE - Bilgisayar Mühendisliği Bölümü
BACKGROUND ON REFLECTION
• Open engineering• It can be used for inspecting the internal
behavior of a language or system.
• By exposing the underlying implementation, it becomes straightforward to insert additional behaviour to monitor the implementation.
• Although reflection is a promising technique, there are a number of potentional drawbacks of this approach.
7
GYTE - Bilgisayar Mühendisliği Bölümü
AN ARCHITECTURE FOR REFLECTIVE MIDDLEWARE
• RM_ODP (Reference Model for Open Distributed Processing) Computational Model
• Objects can have multiple interfaces
• Operational stream and signal interfaces are supported.
• Explicit bindings can be created between compatible interfaces.
• Per Object Meta Space• Each object various capacities for reflection
• Control over the support (problems of maintaining integrity are minimised due to the limited scope of the change)
• Meta object groups8
General Principles
GYTE - Bilgisayar Mühendisliği Bölümü
AN ARCHITECTURE FOR REFLECTIVE MIDDLEWARE
9
• Procedural Approach• Meta level exposes the actual program that implements
the system.• Casual connection(As the implementation itself directly
manipulated).
• Meta-Space Models • Closely related but distinct meta models.• Seperation of concerns between different system aspects.• composition(), encapsulation(), environment() operations.
General Principles
GYTE - Bilgisayar Mühendisliği Bölümü
AN ARCHITECTURE FOR REFLECTIVE MIDDLEWARE
• Objects can have multiple interfaces
• Each interface has an associated encapsulation and environment meta model.
• Compositional model is associated with the object itself and common to all interfaces.
10
DESIGN / The structure of the meta space
GYTE - Bilgisayar Mühendisliği Bölümü
AN ARCHITECTURE FOR REFLECTIVE MIDDLEWARE
11
DESIGN
GYTE - Bilgisayar Mühendisliği Bölümü
AN ARCHITECTURE FOR REFLECTIVE MIDDLEWARE
• Composition• Access the object in terms of constituent objects
• Composition of object represented as an object graph,in which constituent objects are connected together Some objects in this graph can be binding objects,allowing distributed configurations to be created
• Encapsulation• Provides access to the representations of a particular
interface in terms of its sets of methods and associated attributes.
• Language Dependent12
DESIGN
GYTE - Bilgisayar Mühendisliği Bölümü
AN ARCHITECTURE FOR REFLECTIVE MIDDLEWARE
DESIGN
13
• Enviroment
• Represents the execution environment for each interfaces traditionally provided by the middleware platform.
• Functions such as message arrival, enqueing,
selection dispatching, thread creation and scheduling.
GYTE - Bilgisayar Mühendisliği Bölümü
AN ARCHITECTURE FOR REFLECTIVE MIDDLEWARE
14
• Groups provide a uniform mechanism for invoking a set of interfaces.
• For example, groups can be used, at the base level, to multicast new share price information or at the meta level, to insert a new QoS monitoring method.
DESIGN / Reflecting Groups
GYTE - Bilgisayar Mühendisliği Bölümü
AN ARCHITECTURE FOR REFLECTIVE MIDDLEWARE
• Extensible library of components which can be configured to build middleware platforms
• Primitive Components• Primitive Components Include
• A range of low level communications protocols, such as IP and IP multicast
• A range of end-system components buffers, threads
• A range of management policies. Scheduling policies, buffer allocation policies.
15
DESIGN / Component Framework
GYTE - Bilgisayar Mühendisliği Bölümü
AN ARCHITECTURE FOR REFLECTIVE MIDDLEWARE
16
DESIGN / Component Framework
• Composite Components ( open library )
• A range of transport binding supporting, stream and operational interaction.
• Pre configured environment meta-spaces offering access to buffering, dispatching.
GYTE - Bilgisayar Mühendisliği Bölümü
AN ARCHITECTURE FOR REFLECTIVE MIDDLEWARE
• Reflective architecture provides strong design for future middleware platforms and offers principled and comprehensive access to the middleware platform.
• Proposing set of components which can be tailored to the needs of an application
• Configuration can be adapted at run time, should the initial environmental assumptions change.
• It minimizes problems of maintaining integrity.
(Scoping where by every object in its own metaspace)
• Meta space is highly structured minimizing scope of changes
17
DISCUSSION
GYTE - Bilgisayar Mühendisliği Bölümü
EXPERIMENTS IN REFLECTIVE MIDDLEWARE
• Adapt Project (Lancaster University and BT Labs)
• Open binding is an object which provides access to its compositional meta model.
• The use of binding object in graphs allows open binding to span multiple address spaces or multiple nodes.
18
Open Bindings
GYTE - Bilgisayar Mühendisliği Bölümü
EXPERIMENTS IN REFLECTIVE MIDDLEWARE
• Test environment• COOL-ORB, CORBA (Common Object Request Broker
Architecture) implementation from Chorus Systems (Sun, Oracle)
• Laptops, PC’s Windows NT
• Switched Ethernet, Wavelan, GSM
• COOL-ORB support two comm, infrastructure
• TCP-IP CHORUS-IPC
• Ensemble (Orientation)• Enables the programmers to select a particular
protocol profile at bind time by providing list of component modules.
• Run time adaptation(Modification of modules and dynamic reconfiguration).
19
IMPLEMENTATION OF OPEN BINDINGS
GYTE - Bilgisayar Mühendisliği Bölümü
EXPERIMENTS IN REFLECTIVE MIDDLEWARE
• For operational bindings Standart Corba bind call extended
• To enable the specification of the initial protocol graph
• To return an interface providing access to the meta-space
• Ensemble based operational bindings allow direct realisation of concept of reflective groups.
20
IMPLEMENTATION OF OPEN BINDINGS
GYTE - Bilgisayar Mühendisliği Bölümü
CONCLUDING REMARKS
• Presented design for an next generation platforms.
• Exploits concept of reflection to provide the desired level of configurability and openness
• The most important features of design
• Associating meta space with every object-interface
• Subdivision metaspaces into three parts
• Consistent use of object graphs to represent composite components in the architecture
• Primitive and composite components
21
GYTE - Bilgisayar Mühendisliği Bölümü
THANK YOU…
22