gyte - bilgisayar mühendisliği bölümü bilgisayar mühendisliği bölümü gyte - bilgisayar...

22
GYTE - Bilgisayar Mühendisliği Bölümü GYTE - Bilgisayar Mühendisliği Bölümü AN ARCHITECTURE FOR NEXT GENERATION MIDDLEWARE BIL 601 ADVANCED TOPICS IN OPERATING SYSTEMS DOĞU SIRT DECEMBER 2013

Upload: junior-martin

Post on 19-Jan-2016

234 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: 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

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

Page 2: 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

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

Page 3: 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

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.

Page 4: 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

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.

Page 5: 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

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

Page 6: 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

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

Page 7: 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

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

Page 8: 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

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

Page 9: 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

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

Page 10: 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

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

Page 11: 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

GYTE - Bilgisayar Mühendisliği Bölümü

AN ARCHITECTURE FOR REFLECTIVE MIDDLEWARE

11

DESIGN

Page 12: 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

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

Page 13: 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

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.

Page 14: 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

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

Page 15: 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

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

Page 16: 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

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.

Page 17: 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

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

Page 18: 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

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

Page 19: 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

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

Page 20: 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

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

Page 21: 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

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

Page 22: 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

GYTE - Bilgisayar Mühendisliği Bölümü

THANK YOU…

22