Engine Hands on Session Mobile Computing CNT 55175564 Dr Sumi Helal Professor Computer amp Information Science amp Engineering Department University of Florida Gainesville FL 32611 ID: 784694
Download The PPT/PDF document "Atlas & Atlas Reactivity" is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.
Slide1
Atlas & Atlas Reactivity Engine Hands-on SessionMobile Computing - CNT 5517-5564
Dr.
Sumi
Helal
Professor
Computer & Information Science & Engineering Department
University of Florida, Gainesville, FL 32611
helal@cise.ufl.edu
Slide2AgendaDemoKnopflerfishAtlas MiddlewareAtlas EmulatorsKitSampleAppAtlas Reactivity EngineAtlas Service APIAtlasService & AtlasClient InterfaceKitSampleApp Code Study ARE Code ReviewQ&A
Slide3DEMO
Slide4Project Set UpInstall Knophlerfish OSGi (Version 1.3.5)http://www.knopflerfish.org/download.html#1.3.5Install Atlas middlewarehttp://www.icta.ufl.edu/atlas/Install Atlas Device Emulatorshttp://www.icta.ufl.edu/atlas/emulator/Atlas demo applicationInstall Atlas Reactivity Enginehttp://www.icta.ufl.edu/atlas/are/(You may find all the links in http://www.icta.ufl.edu/atlas/
)
Slide5Install Knophlerfish Download and install.After installation, launch the Knopflerfish
OSGi
framework by double clicking the executable JAR file “framework.jar” or typing “java –jar framework.jar” in the command line.
The
OSGi
window (right) will pop up.
Slide6Install Atlas Middleware Install the middleware bundles. Click FileOpen
Bundles in the
OSGi
menu
Launch
all middleware bundles
Bundles reside in the directory:
…\AtlaSoft-1.5 clean\AtlaSoft-1.5 copy\atlas\
Slide7Install Atlas Device Emulators Device emulators include:DigitalContactSensorEmulatorHS322ServoEmulatorHumiditySensorEmulatorInterlinkPressureSensorEmulatorTemperatureSensorEmulator
Install and launch
The GUI for the emulators is shown (right)
Slide8Atlas Demo ApplicationKitSampleApp.jar is an Atlas demo application (bundle) that will use the device services provided by the emulator bundles. Install the Atlas Kit Sample Application bundle. Click FileOpen Bundles in the OSGi menu, launch KitSampleApp.jar. The GUI for the kit sample application (right). Note that devices are shown as offline if their corresponding service bundles have not yet been activated
Slide9Atlas Demo ApplicationCustomize sensor measurements. Readings and the sampling rate of the Pressure sensor can now be customized using the GUI interface. User can change their values by either sliding the slider or typing in a value in the text box. Once changes are applied by pressing the update button, they will be reflected in the application window. Maneuvering servos. Controlling the servo is the other way around since it is an actuator. Users issue “move servo” command from the application window and specify a turning angle by sliding the slider. The servo emulator will virtually turn the angle and shows the current position.Uninstall emulators. Uninstalling emulators is easy. Just click on the close button on the emulator window. The bundle will be ejected from the OSGi automatically. And the device icons on the application will return to offline.
Slide10Install Reactivity Engine Find the engine in: …\AtlasRE\ATLAS RE REFERENCE IMPLEMENTATION\src\AtlasReactivityEngine10\jars\ReactiveEngine.jarInstall and launch Atlas Reactivity Engine. The GUI for it will pop up immediately.(Right)
Slide11Reactivity Engine Code ReviewAn OSGi bundle is basically like a normal Java application instantiated by an Activator class.Each bundle have its own Activator which links the application into OSGi.Reactivity Engine is implemented as an OSGi bundle as well.Our job mainly focuses on the .java file “KitSampleApp.java”
Slide12ATLAS Service API** http://www.icta.ufl.edu/atlas/emulator/AtlasDev_Javadocs/doc/
Slide13Atlas ServiceAtlas ServiceProviding basic Atlas Service Functions such as sensor data subscription & deliveryA base class (interface) for developers to extend and build their own Atlas device services, e.g. temperature sensor, sensor emulators. Two versions (package: com.pervasa.atlas.dev.service)Interface AtlasServiceClass AtlasServieClassKey methods:DataHandler(String, String)subscribeToSensorData(AtlasClient)unsubscribeToSensorData(AtlasClient)getData(AtlasService) -> getSensorReading(AtlasClient) *
Slide14Atlas ClientAtlas ClientAn interface implemented by applications require sensor data from the Atlas networkFor example, KitSampleApp and ARE are Atlas Clients.package: com.pervasa.atlas.dev.serviceKey methods:ReceivedData(String, Properties)
Slide15Push & Pull APIsPushPullEmulatorMethod nameContactSensorvoid getContactReading(AtlasClient ac)InterlinkPressurevoid getPressureReading(AtlasClient ac)Humidityvoid getSensorReading(AtlasClient ac)Temperaturevoid getSensorReading(AtlasClient ac)Method name
void
subscribeToSensorReading(AtlasClient
ac)
void
unsubscribeToSensorReading
(
AtlasClient
ac)
void
ReceivedData
(
AtlasClient
ac)
Slide16CODE REVIEW
Slide17Command InterpreterLIST: list all the basic events, basic actions, user-defined events, user-defined actions and rules.BASIC: list all the basic events, basic actions.DEFINE: used to define event, conditionDefine atomic event: DEFINE event e1=ref_ID (range)Define composite event: DEFINE event e2=e1+e2*e3Define action: DEFINE action a1=ref_ID(range)
Slide18Command InterpreterDEFINE: used to define event, conditionDefine condition: DEFINE condition c1=true (or false)Define rule: DEFINE rule r1=e1,c1,a1RUNSTOP
Slide19Q & A