42
21/10/2007 The Evaluation of Adaptive Reflective Middlewares in Distributed Systems Farahnaz Poorfard AmirKabir University of Tehran Computer Engineering Department Advisor: Dr. Hossein Pedram Examiner: Dr. Mahdi Dehghan Oct. 2007

The Evaluation of Adaptive Reflective Middlewares in ...ceit.aut.ac.ir/~pedram/newfiles/poorfard-powerpoint.pdf · "The RUNES Middleware for Networked Embedded Systems and its Application

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: The Evaluation of Adaptive Reflective Middlewares in ...ceit.aut.ac.ir/~pedram/newfiles/poorfard-powerpoint.pdf · "The RUNES Middleware for Networked Embedded Systems and its Application

21/10/2007

The Evaluation of Adaptive Reflective Middlewares in Distributed Systems

Farahnaz Poorfard

AmirKabir University of Tehran

Computer Engineering Department

Advisor: Dr. Hossein Pedram

Examiner: Dr. Mahdi Dehghan

Oct. 2007

Page 2: The Evaluation of Adaptive Reflective Middlewares in ...ceit.aut.ac.ir/~pedram/newfiles/poorfard-powerpoint.pdf · "The RUNES Middleware for Networked Embedded Systems and its Application

21/10/20073

Outline

• Introduction• Current Middlewares• New requirements and new Ideas• Reflective Component Model• OpenCOM• OpenORB• CFs• Evaluations• Future Works• References

Page 3: The Evaluation of Adaptive Reflective Middlewares in ...ceit.aut.ac.ir/~pedram/newfiles/poorfard-powerpoint.pdf · "The RUNES Middleware for Networked Embedded Systems and its Application

21/10/20074

What is a Distributed System?

A distributed system is a collection of independent computers that appears to its users as a single coherent system.

Page 4: The Evaluation of Adaptive Reflective Middlewares in ...ceit.aut.ac.ir/~pedram/newfiles/poorfard-powerpoint.pdf · "The RUNES Middleware for Networked Embedded Systems and its Application

21/10/20075

What is a Middleware System?

A middleware system constitutes a set of services that aim at facilitating the development of distributed applications in heterogeneous environments.

Page 5: The Evaluation of Adaptive Reflective Middlewares in ...ceit.aut.ac.ir/~pedram/newfiles/poorfard-powerpoint.pdf · "The RUNES Middleware for Networked Embedded Systems and its Application

21/10/20076

An Abstraction of Middleware in aDistributed System

Page 6: The Evaluation of Adaptive Reflective Middlewares in ...ceit.aut.ac.ir/~pedram/newfiles/poorfard-powerpoint.pdf · "The RUNES Middleware for Networked Embedded Systems and its Application

21/10/20077

Some Current Well-known Middlewares

• CORBA• COM• XPCOM• Java RMI• WSDL

Page 7: The Evaluation of Adaptive Reflective Middlewares in ...ceit.aut.ac.ir/~pedram/newfiles/poorfard-powerpoint.pdf · "The RUNES Middleware for Networked Embedded Systems and its Application

21/10/20078

But We Have Some NewRequirements

• Multimedia• Real-time applications• Ad-hoc networks• Mobile networks• Embedded systems• Critical applications• 24x7 applications• …

Page 8: The Evaluation of Adaptive Reflective Middlewares in ...ceit.aut.ac.ir/~pedram/newfiles/poorfard-powerpoint.pdf · "The RUNES Middleware for Networked Embedded Systems and its Application

21/10/20079

They Have Issued New & “Separate”Versions for New Requirements

• CORBA– Real-time CORBA– Minimum CORBA– Data Parallel CORBA– Fault-tolerance CORBA– CORBA/e – CORBA/IIOP

• COM– COM+, .NET, DCOM, COMERA

• Java RMI– J2SE, J2EE, J2ME, Java RMI-IIOP

Page 9: The Evaluation of Adaptive Reflective Middlewares in ...ceit.aut.ac.ir/~pedram/newfiles/poorfard-powerpoint.pdf · "The RUNES Middleware for Networked Embedded Systems and its Application

21/10/200710

• Light weight• Configurable• Reconfigurable • Dynamic Reconfigurable• Adaptable• Scalable• Meet the new requirements• …

We Need Some New Middlewares

Page 10: The Evaluation of Adaptive Reflective Middlewares in ...ceit.aut.ac.ir/~pedram/newfiles/poorfard-powerpoint.pdf · "The RUNES Middleware for Networked Embedded Systems and its Application

21/10/200711

Some New Ideas

• Object Models• Component Models• Component-object Models• Reflective-component Models• Event-based Models• Horizontal Decomposition Models• …

Page 11: The Evaluation of Adaptive Reflective Middlewares in ...ceit.aut.ac.ir/~pedram/newfiles/poorfard-powerpoint.pdf · "The RUNES Middleware for Networked Embedded Systems and its Application

21/10/200712

OpenCOM: An Adaptive ReflectiveComponent Middleware

It has built on top of COM, with saving some properties of COM:

– vtable– IDL– GUIDs– IUnknown Interface

And adding some new concepts:– Making Explicit the Dependencies of each Component,– Adding Basic Mechanism-level Functionality for Reconfiguration,– Supporting for Pre- & Post- Method Call Interception.

Page 12: The Evaluation of Adaptive Reflective Middlewares in ...ceit.aut.ac.ir/~pedram/newfiles/poorfard-powerpoint.pdf · "The RUNES Middleware for Networked Embedded Systems and its Application

21/10/200713

Components in OpenCOM …

Components are encapsulated units of functionality and deployment that interact with other components exclusively through “interfaces” and “receptacles”.

Page 13: The Evaluation of Adaptive Reflective Middlewares in ...ceit.aut.ac.ir/~pedram/newfiles/poorfard-powerpoint.pdf · "The RUNES Middleware for Networked Embedded Systems and its Application

21/10/200714

… and in the view of Reflection

In Reflective model, a component canreason about and alter itself, in terms of different situations.

Page 14: The Evaluation of Adaptive Reflective Middlewares in ...ceit.aut.ac.ir/~pedram/newfiles/poorfard-powerpoint.pdf · "The RUNES Middleware for Networked Embedded Systems and its Application

21/10/200715

Basic Concepts in OpenCOM

• Interface: A unit of service provision.

• Receptacle: A unit of service requirement.

• Connection: Binding a pairs of interface and receptacle, for creating a configuration of components.

a component

a connection

Page 15: The Evaluation of Adaptive Reflective Middlewares in ...ceit.aut.ac.ir/~pedram/newfiles/poorfard-powerpoint.pdf · "The RUNES Middleware for Networked Embedded Systems and its Application

21/10/200716

OpenCOM Architecture

Page 16: The Evaluation of Adaptive Reflective Middlewares in ...ceit.aut.ac.ir/~pedram/newfiles/poorfard-powerpoint.pdf · "The RUNES Middleware for Networked Embedded Systems and its Application

21/10/200717

Interceptors & ReceptaclesMechanisms

Page 17: The Evaluation of Adaptive Reflective Middlewares in ...ceit.aut.ac.ir/~pedram/newfiles/poorfard-powerpoint.pdf · "The RUNES Middleware for Networked Embedded Systems and its Application

21/10/200718

Component Frameworks (CFs)

In OpenORB, we add CFs.

Definition of CFs: “Collections of rules and interfaces that govern the interaction of a set of Components plugged into them.”

Page 18: The Evaluation of Adaptive Reflective Middlewares in ...ceit.aut.ac.ir/~pedram/newfiles/poorfard-powerpoint.pdf · "The RUNES Middleware for Networked Embedded Systems and its Application

21/10/200719

Some Sample CFs in OpenORB

Page 19: The Evaluation of Adaptive Reflective Middlewares in ...ceit.aut.ac.ir/~pedram/newfiles/poorfard-powerpoint.pdf · "The RUNES Middleware for Networked Embedded Systems and its Application

21/10/200720

The Benefits of CFs

• Abstraction between the CF’s components and the other parts of the system,

• Understanding of system• Maintainability of system

• Reusability• Simplicity for system developers

• Creating of light-weight components for initialization phase,• Disallowing the plug-ins from directly depending on

external components,• Security, Integration of management, Scalability, and coupling

• Preparing the “nesting”, …

Page 20: The Evaluation of Adaptive Reflective Middlewares in ...ceit.aut.ac.ir/~pedram/newfiles/poorfard-powerpoint.pdf · "The RUNES Middleware for Networked Embedded Systems and its Application

21/10/200721

A Simple Sample Configurationwith CFs

OpenCOM

OpenORB

Page 21: The Evaluation of Adaptive Reflective Middlewares in ...ceit.aut.ac.ir/~pedram/newfiles/poorfard-powerpoint.pdf · "The RUNES Middleware for Networked Embedded Systems and its Application

21/10/200722

Some Strategic Methods inOpenCOM …

Page 22: The Evaluation of Adaptive Reflective Middlewares in ...ceit.aut.ac.ir/~pedram/newfiles/poorfard-powerpoint.pdf · "The RUNES Middleware for Networked Embedded Systems and its Application

21/10/200723

… and in OpenORB

Page 23: The Evaluation of Adaptive Reflective Middlewares in ...ceit.aut.ac.ir/~pedram/newfiles/poorfard-powerpoint.pdf · "The RUNES Middleware for Networked Embedded Systems and its Application

21/10/200724

“Accept” Component in OpenORB

The Accept Component, Checks the Matching between a Reconfiguration withDetermined Rules

Page 24: The Evaluation of Adaptive Reflective Middlewares in ...ceit.aut.ac.ir/~pedram/newfiles/poorfard-powerpoint.pdf · "The RUNES Middleware for Networked Embedded Systems and its Application

21/10/200725

An Example of xml Files

Page 25: The Evaluation of Adaptive Reflective Middlewares in ...ceit.aut.ac.ir/~pedram/newfiles/poorfard-powerpoint.pdf · "The RUNES Middleware for Networked Embedded Systems and its Application

21/10/200726

Results for OpenCOM

command time (ms)CoInitialize 15 (once)

CoCreateInstance 31 (once for runtime component)

createInstance 32 (once for each component)

startup 0

connection (connect) 0

operation (method call) 0

interception 46 (once for each proposed interface)

Page 26: The Evaluation of Adaptive Reflective Middlewares in ...ceit.aut.ac.ir/~pedram/newfiles/poorfard-powerpoint.pdf · "The RUNES Middleware for Networked Embedded Systems and its Application

21/10/200727

Results for OpenORB

command time (ms)

CoInitialize 15 (once)CoCreateInstane 31 (once for runtime component)createInstance 32 (once for each CF) create_component 32 (once for each component inside CF)startup 0connection (connect/local_bind) 0operation (method call) 0interception 46 (once for each proposed interface)addConfiguration 0expose_interface 47init_arch_transaction 0commit_arch_transaction 16

Page 27: The Evaluation of Adaptive Reflective Middlewares in ...ceit.aut.ac.ir/~pedram/newfiles/poorfard-powerpoint.pdf · "The RUNES Middleware for Networked Embedded Systems and its Application

21/10/200728

Test1: Evaluation of Time vs numberof Components

0

50

100

150

200

250

0 0 1 2 3 4 5 6

number of components

time

(ms)

Series1

Page 28: The Evaluation of Adaptive Reflective Middlewares in ...ceit.aut.ac.ir/~pedram/newfiles/poorfard-powerpoint.pdf · "The RUNES Middleware for Networked Embedded Systems and its Application

21/10/200729

Test2: Comparison between “Simple”and “Intercepted” Components

0

100

200

300

400

500

600

0 0 1 2 3 4 5

number od components

time

(ms)

Simple Components

Intercepted Components

Page 29: The Evaluation of Adaptive Reflective Middlewares in ...ceit.aut.ac.ir/~pedram/newfiles/poorfard-powerpoint.pdf · "The RUNES Middleware for Networked Embedded Systems and its Application

21/10/200730

Test3: Evaluation of Time vs number of Interfaces

0

50

100

150

200

250

0 0 1 2 3 4 5 6

numberr of components

time

(ms)

With One Interface

With Two Interfaces

Page 30: The Evaluation of Adaptive Reflective Middlewares in ...ceit.aut.ac.ir/~pedram/newfiles/poorfard-powerpoint.pdf · "The RUNES Middleware for Networked Embedded Systems and its Application

21/10/200731

Test4: Evaluation of Time withadding CFs

020406080

100120140160180200

0 0 0 1 2

number of components

time

(ms)

OpenORB

OpenCOM

Page 31: The Evaluation of Adaptive Reflective Middlewares in ...ceit.aut.ac.ir/~pedram/newfiles/poorfard-powerpoint.pdf · "The RUNES Middleware for Networked Embedded Systems and its Application

21/10/200732

Test5: Evaluation of Time with addingCFs (Complete Operations)

0

50

100

150

200

250

0 0 0 1 2 3

number of components

time

(ms)

OpenCOMOpenORB

Page 32: The Evaluation of Adaptive Reflective Middlewares in ...ceit.aut.ac.ir/~pedram/newfiles/poorfard-powerpoint.pdf · "The RUNES Middleware for Networked Embedded Systems and its Application

21/10/200733

Test5: Evaluation of Time with addingCFs (Complete Operations)

0

50

100

150

200

250

0 0 0 1 2 3

number of components

time

(ms)

OpenCOMOpenORB

Page 33: The Evaluation of Adaptive Reflective Middlewares in ...ceit.aut.ac.ir/~pedram/newfiles/poorfard-powerpoint.pdf · "The RUNES Middleware for Networked Embedded Systems and its Application

21/10/200734

Conclusion

• Fix time for creating each new component

• Fix time for each intercepting– Overhead, but instead reconfiguration operation

• Number of interfaces• Connection/disconnection• Starting a component• Calling methods• Fix time for each CF• Deletion phase

Page 34: The Evaluation of Adaptive Reflective Middlewares in ...ceit.aut.ac.ir/~pedram/newfiles/poorfard-powerpoint.pdf · "The RUNES Middleware for Networked Embedded Systems and its Application

21/10/200735

RUNES Middleware

The Whole Scenariofor Road Tunnels:

Page 35: The Evaluation of Adaptive Reflective Middlewares in ...ceit.aut.ac.ir/~pedram/newfiles/poorfard-powerpoint.pdf · "The RUNES Middleware for Networked Embedded Systems and its Application

21/10/200736

GridKit Middleware

Suitable for Flooding Scenarios:

Page 36: The Evaluation of Adaptive Reflective Middlewares in ...ceit.aut.ac.ir/~pedram/newfiles/poorfard-powerpoint.pdf · "The RUNES Middleware for Networked Embedded Systems and its Application

21/10/200737

Future Works …

• Evaluating in remote mode,• Using new services (like multimedia),• Defining filter plug-ins in multimedia CF,• Building some hierarchies from CFs,• Installing the GridKit, Genie, …• MPI?• …

Page 37: The Evaluation of Adaptive Reflective Middlewares in ...ceit.aut.ac.ir/~pedram/newfiles/poorfard-powerpoint.pdf · "The RUNES Middleware for Networked Embedded Systems and its Application

21/10/200738

References (1)

• Nelly Bencomo, Gordon Blair, et al. "Towards a Meta-Modeling Approach to Configurable Middleware,“2nd ECOOP'2005 Workshop on Reflection, AOP and MetaData for Software Evolution, RAM-SEGlasgow, Scotland, 2005.

• Nelly Bencomo, Gordon Blair, "Genie: a Domain-Specific Modeling Tool for the Generation of Adaptiveand Reflective Middleware Families," In submitted to 6th OOPSLA workshop on Domain SpecificModeling, Portland, 2006.

• Nelly Bencomo, Gordon Blair, Paul Grace, "The world ig going MAD: Models for Adaptation,“ACM/IEEE 9th International Conference on Model Driven Engineering Languages and Systems,Genova, Italy, October 2006.

• Nelly Bencomo, "Preening: Reflection of Models in the Mirror", PhD thesis, Comp. Dept, InfoLab21,Lancaster University, 2005.

• G.S. Blair, G. Coulson, et al. "An Architecture for Next Generation Middleware," In Proceedings of theIFIP International Conference on Distributed Systems Platforms and Open Distributed Processing,1998.

• Michael Clarke, Gordon S. Blair, et al. "An Efficient Component Model for the Construction of AdaptiveMiddleware," Lecture Notes in Computer Science, vol. 2218, pages 160--??, 2001.

Page 38: The Evaluation of Adaptive Reflective Middlewares in ...ceit.aut.ac.ir/~pedram/newfiles/poorfard-powerpoint.pdf · "The RUNES Middleware for Networked Embedded Systems and its Application

21/10/200739

References (2)

• Michael Clarke, Nikos Parlavantzas, et al. "OpenCOM API Specification," OpenCOM Documents:http://www.comp.lancs.ac.uk/computing/research/mpg/reflection/tutorials.php.

• Geoff Coulson, Gordon S. Blair, et al. "The Design of A Configurable and Reconfigurable MiddlewarePlatform", OpenCOM Documents:http://www.comp.lancs.ac.uk/computing/research/mpg/reflection/tutorials.php, 2002.

• Paolo Costa, Geoff Coulson, et al. "The RUNES Middleware: A Reconfigurable Component-basedApproach to Networked Embedded Systems," In Proceedings of (PIMRC05), IEEE, Berlin, Germany,September 2005.

• Paolo Costa, Geoff Coulson, et al. "The RUNES Middleware for Networked Embedded Systems and itsApplication in a Disaster Management Scenario," Fifth Annual IEEE International Conference onPervasive Copmuting and Communications, 2007, percom '07, pages 69-78, March 2007.

• Geoff Coulson, Richard Gold, et al. "Dynamic Reconfiguration in the RUNES Middleware," Mobile Ad-hocand Sensor Systems (MASS), International Conference on 2006 IEEE, pages 574-577, October 2006.

• Geoff Coulson, Dean Kue and John Brooke, "Sensor Networks + Grid Computing = A New Challenge forthe Grid?," IEEE Distributed Systems online, vol. 7, no. 12, page 2, December 2006.

• Richard Gold, "Contiki and the RUNES Middleware":http://www.sics.se/contiki/project/contiki-and-the-runes-middleware.html, February 2007.

Page 39: The Evaluation of Adaptive Reflective Middlewares in ...ceit.aut.ac.ir/~pedram/newfiles/poorfard-powerpoint.pdf · "The RUNES Middleware for Networked Embedded Systems and its Application

21/10/200740

References (3)

• Patrick TH. Eugster, Pascal A. Felber, et al. "The Many Faces of Publish/Subscribe," ACM ComputingSurvays, vol. 35, no. 2, pages 114-131, June 2003.

• Paul Grace, Gordon S. Blair, et al. "ReMMoC: A Reflective Middleware to support Mobile ClientInteroperability," International Symposium on Distributed Objects and Application, Catania, Italy,November 2003 (to appear).

• Paul Grace, Gordon Blair, et al. "A Higher Level Abstraction for Mobile Computing Middleware," InProceeding of workshop on Communication Abstractions for Distributed Systems, Paris, France,November 2003.

• Paul Grace, Geoff Coulson, et al. "GRIDKIT: Pluggable Overlay Networks for Grid Computing," To appearin Proc. Distributed Objects and Applications (DOA'04), Cyprus, October 2004.

• Danny Hughes, Phil Greenwood, et al. "GridStix: Supporting Flood Prediction using Embedded Hardwareand Next Generation Grid Middleware," In Proceedings of the 4th International workshop on MobileDistributed Computing (MDC'06), Niagara Falls, USA, June 2006.

• Danny Hughes, Phil Greenwood, et al. "An Intelligent and Adaptable Flood Monitoring and WarningSystem," In Proceeding of the 5th UK E-science All Hands Meeting (AHM 06), September 2006.

Page 40: The Evaluation of Adaptive Reflective Middlewares in ...ceit.aut.ac.ir/~pedram/newfiles/poorfard-powerpoint.pdf · "The RUNES Middleware for Networked Embedded Systems and its Application

21/10/200741

References (4)

• Danny Hughes, Phil Greenwood, et al. "Using Grid Technologies to Optimise a Wireless Sensor Networkfor Flood Management," In Proceedings of the 4th ACM Conference on Embedded Networked SensorSystems, Boulder, Colorado, USA, October 31-November 3, 2006.

• Zhang Huifu, Zhou Zude, et al. "Study on Embedded System Grid", In Proceedings of the FirstInternational Conference on Semantics, Knowledge, and Grid (SKG 2005), IEEE, 2006.

• Java Home Page: http://java.sun.com, 2007.• Fabrice Kordon, Laurent Pautet, "Toward Next-Generation Middleware?," IEEE Distributed Systems

Online, vol. 6, issue 3, March 2005.• Next Genaration Middleware @ Lancaster University:

http://www.comp.lancs.ac.uk/computing/research/mpg/reflection/index.php.• Next Genaration Middleware @ Lancaster University, Computing Department, "OpenCOM: Java versus

C++", Technical Report, http://www.comp.lancs.ac.uk/computing/research/mpg/reflection/tutorials.php.• Dong-Kyu Lee, Joo-Yong Oh, et al. "Middleware for Isochronous Connection Management in IEEE1394-

IEC61883 based Multimedia Home Network," IEEE Transactions on Consumer Electronics, vol. 51,issue 1, pages 307-313, February 2005.

• Cecilia Mascolo, Stefanos Zachariadis, et al. "RUNES Middleware Architecture", SIXTH FRAMEWORKPROGRAMME PRIORITY 2, Information Society Technology, Project Document Number:RUNES/D5.2.1/PU/v12 (official version), November 2005.

Page 41: The Evaluation of Adaptive Reflective Middlewares in ...ceit.aut.ac.ir/~pedram/newfiles/poorfard-powerpoint.pdf · "The RUNES Middleware for Networked Embedded Systems and its Application

21/10/200742

References (5)

• Microsoft, COM Home Page: http://www.microsoft.com/com/default.mspx, last updated: 2007.• Mozilla Organization, XPCOM Project: http://www.mozilla.org/projects/xpcom, last updated: September

2007.• Object Management Group: http://www.omg.org, last updated: October 2007.• Peter R. Pietzuch, "Event-Based Middleware: A New Paradigm for Wide-Area Distributed Systems?," In

Proceedings of 6th CaberNet Radicals workshop, Funchal, Maderia Island, Portugal, February 2002.• Steve Vinoski, "CORBA: Integrating Diverse Applications Within Distributed Heterogeneous

Environments," IEEE Communications Magazine, vol. 14, no.2, February 1997.• Klaus-Dieter Walter, "Embedded Grid Computing," In Elektronik, Fachzeitchrift fur industrielle Anwender

und Entwickler, Poing, Germany, page 76f, September 2005.• Wikipedia Encyclopedia: http://en.wikipedia.org.• Charles Zhang and Hans-Arno Jacobsen, "Refactoring Middleware with Aspects," IEEE Transactions on

Parallel and Distributed Systems, vol. 14, no. 11, November 2003.• Charles Zhang and Hans-Arno Jacobsen, "Resolving Feature Convolution in Middleware Systems," In

Proceedings of the 19th annual ACM SIGPLAN Conference on Object Oriented Programming,Systems, Languages and Applications, Vancover, BC, Canada, pages 188-205, 2004.

Page 42: The Evaluation of Adaptive Reflective Middlewares in ...ceit.aut.ac.ir/~pedram/newfiles/poorfard-powerpoint.pdf · "The RUNES Middleware for Networked Embedded Systems and its Application

21/10/2007