1 / 12

A Programming Model for Self-Organising Object Systems

A Programming Model for Self-Organising Object Systems. Service Composition. Connect services/applications at runtime Building connections between containers Multiple services working together Example approach – SpeakEasy Interface to specify connections

lloyd
Download Presentation

A Programming Model for Self-Organising Object Systems

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. A Programming Model forSelf-Organising Object Systems

  2. Service Composition • Connect services/applications at runtime • Building connections between containers • Multiple services working together • Example approach – SpeakEasy • Interface to specify connections • Modified services to support architecture

  3. File Access Service File Store Computer A TCP Messages Data Processing Service Computer B Application level TCP Messages Computer C Data Output Service Display Device Standard Service Composition Approach • Separate applications communicating via messages. • Connections pre-defined by script, or manually chosen by a user.

  4. File Access Service File Store File Store File Handling Object Computer A Computer A RPC Calls TCP Messages Data Processing Service Data Processing Object Computer B Computer B Application level vs. Object level RPC Calls TCP Messages Computer C Computer C Data Output Object Data Output Service Display Device Display Device Standard Service Composition Approach Self-Organising Object Systems Approach • Separate applications communicating via messages. • Connections pre-defined by script, or manually chosen by a user. • Single application distributed where needed / extended at object level – transparently to the application. • Distributed dynamically at runtime, based on resource availability / user requirements.

  5. Object Level Approach • Different design model, rather than bolt-on ‘hack’ • More ‘atomic’ units of functionality • Simpler to describe, transport, re-use • Baseline Object Feature Set • theObject.MoveTo(location…) • theObject.ConnectTo(objectUrl, bindingPoint…) • theObject……

  6. Make Requests / Intervene in Operation Incoming Data Openness Data Formatter Monitor Status / Performance Common Feature Layer Evolvable Object Request Codec Processed Data Middleware Communication Register upon instantiation Mobility Distributed Shared Memory Facility Common Object Functionality Set Lookup a service Middleware Specify interest Serialize + Transport Inform of instantiated interest object Suspend Operation

  7. Performance Agent System Security Agent Middleware Service Gateway Object Inform Spawn Administrative Interface Common Feature Layer Middleware Direct Object-Level Application Service Composition Application 1. Register Request Service Spawn 7. Connect Service Gateway

  8. EOS Windows Extension EOS Windows Extension EOS Windows Extension EOS Windows Extension PC PC PC Display Files Security Access DB Mobile Device Display Networking Processing Object Distribution for Optimal Resource Usage

  9. Implementation using System.Reflection; using System.Runtime.Remoting; using System.Runtime.Remoting.Channels.Tcp; using EvolveMiddleware; [ClassDescription(Category.InputOutput)] public class FrameworkSupport { private EObject myRemoteObject; public FrameworkSupport() { ChannelServices.RegisterChannel( new TcpClientChannel() ); myRemoteObject = (EObject)Activator.GetObject(typeof(EObject), "tcp://AServer:8989/EObj.rem"); myRemoteObject.myMethod(); } public void RegisterApp(Type theType) { foreach (object attribute in theType.GetCustomAttributes(false)) { . . . . . . .

  10. Middleware Middleware interface Main middleware > IMiddleware Register() InformAction() … Servicer Implementation of Application Extension Framework Support Framework Support using IMiddleware using IMiddleware FlexiPaint FullScreen FlexiViewer Extend application to increase functionality Paint Application Viewer Application

  11. Summary • Programming model designed around problems of distributability, optimal resource usage, component sharing, description and re-use. • Platform extension architecture to enable self-organising objects • Object-level better allows fine-grained adaptations, object distribution, automated assembly

  12. Any Questions?

More Related