Presentation is loading. Please wait.

Presentation is loading. Please wait.

(1) The (Draft) Public Client API for Device-Oriented Middleware Communication The Middleware Project Team.

Similar presentations


Presentation on theme: "(1) The (Draft) Public Client API for Device-Oriented Middleware Communication The Middleware Project Team."— Presentation transcript:

1 (1) The (Draft) Public Client API for Device-Oriented Middleware Communication The Middleware Project Team

2 (2) 13/7/00 Vito Baggiolini SL/CO Device-Oriented Functionality V1.0 Based on Device/Property Model –Devices with properties; –Devices = “real” hardware devices and “virtual” software devices Communication paradigms –Set/get (“request-reply”) of properties –Monitoring (“publish/subscribe”) of properties Property Data types: 1-level composite –structures containing primitive & arrays of primitive: struct Profile { long timeStamp; float[] values; } –NO nested structures

3 (3) 13/7/00 Vito Baggiolini SL/CO Device Access Software Client Program Architecture Server Framework Client Framework We buy We develop Users provide Legend: Server API Client API MoM get/set publish CORBA Corba  MoM Gateway CORBA For LynxOS

4 (4) 13/7/00 Vito Baggiolini SL/CO Java Client API Classes One generic RemoteDevice class –one instance per device –set/get, monitorOn/Off methods A few additional classes and interfaces –CycleSelector, Filter, ReplyListener, etc. –Exceptions RemoteDevice Constructors RemoteDevice(String DeviceName); RemoteDevice(String devClass, String devInstance);

5 (5) 13/7/00 Vito Baggiolini SL/CO Set/Get Methods Synchronous (“blocking”) get/set int getInt(String propName); void setInt(String propName, int value); Asynchronous (“non-blocking”) get/set void getInt(String propName, ReplyListener rl); Cycle-dependent, asynchronous get/set void getInt(String propName, CycleSelector sel, ReplyListener rl); Filtered 1, cycle-dependent, asynchronous get/set void getInt(String propName, CycleSelector sel, Filter f, ReplyListener rl); 1) server-side filtering of property data

6 (6) 13/7/00 Vito Baggiolini SL/CO MonitorOn/Off Methods Monitor a property on-change: MonToken monitorOn(String propName, monListener l); void monitorOff(MonToken mt); Monitor a property with CycleSelector: MonToken monitorOn(String propName, CycleSelector cs, monListener l);

7 (7) 13/7/00 Vito Baggiolini SL/CO Type-specific, overloaded methods In RemoteDevice class: One group of methods per primitive type setInt() setLong() setFloat() setDouble() setByte() setChar() setBoolean() One group of methods for Object types setObject() can be used for anything, including Arrays and Data/DataEntry Complex data types are passed with setObject() they are extracted and packed into Data/Data- Entry using Reflection


Download ppt "(1) The (Draft) Public Client API for Device-Oriented Middleware Communication The Middleware Project Team."

Similar presentations


Ads by Google