Context-aware management of e-services (Tempura reengineering) Vladimir Valkanov University of Plovdiv 28/08/2013 13th Workshop "SERE" Bansko, 26-31 Aug. 2013 1 DeLC Project • Main goal: delivering e-services to support elearning; • DeLC architecture: distributed system, containing fixed and mobile nodes; • Mobile node: providing mobile access to the services, through intelligent wireless network based on InfoStation architecture; 28/08/2013 13th Workshop "SERE" Bansko, 26-31 Aug. 2013 2 Infrastructure of DeLC Education Portal for Secondary School eLearning in Software Engineering (eLSE) DeLC Test Center (DeTC) DeLC Portal Creativity Assistant (CA) Agent Village (AV) Info Stations (IS) 3rd Tier: InfoStations Centre (with Profile Managers and Global Services’ Content Repository) 2nd Tier: InfoStations (with cached copies of recently used user/service profiles, and Local Services’ Content Repository) 1st Tier: Mobile Devices (with Intelligent Agents acting as Personal Assistants for mobile users) 28/08/2013 13th Workshop "SERE" Bansko, 26-31 Aug. 2013 3 Mobile node middleware Profile Repository Database InfoStation Service Layer Sophisticated Services Simple Services Connection Advisor Agent Agents Layer Content Repository List of devices and services Session Initiation & Maintenence Filtered list of devices and services Profile Processor Agent Scenario Manager Agent Connection Initiator Agent Scanner Agent Content Adaptation Agent Query Manager Agent Agent Thread Create connection agent Bluetooth API Connection Agent Send Thread Initiate Connection Interface Agent Receive Thread Service Context Management & Delivery Connection Mobile Devices Personal Assistant Agents 28/08/2013 13th Workshop "SERE" Bansko, 26-31 Aug. 2013 4 Main goal • To expand the middleware with intelligent agents, which are able to detect and manage time aspects of delivering educational services and content in distributed InfoStation network. 28/08/2013 13th Workshop "SERE" Bansko, 26-31 Aug. 2013 5 Tasks • To investigate and specify time aspects of the mobile node • Choose a proper formalism to manage the time components in the system • To find a proper approach for realisation • To create architecture • To create a prototype • To integrate in DeLC 28/08/2013 13th Workshop "SERE" Bansko, 26-31 Aug. 2013 6 Time aspects • Scenarios – They specify the functionality of our communication environment (InfoStations) • During the execution of a service different local events could happened : – Getting in range of an IS – Getting out of range of an IS – Change the mobile device • The existing middleware could react to various events, but he is unable to represent them in time order. – No management mechanism • In the scenario point of view the problem is to manage scenario change and execution 28/08/2013 13th Workshop "SERE" Bansko, 26-31 Aug. 2013 7 Choosing a proper formalism • Interval Temporal Logic (ITL) – Ben Moszkowski – Computer Laboratory, University of Cambridge • What is ITL: – First order logic with added time dependent operators like “sometimes” , “always”, “next” … – Considering time as a discrete sequence of points in time called intervals – For ITL there is an interpreting mechanism and its program realisation called Tempura. 28/08/2013 13th Workshop "SERE" Bansko, 26-31 Aug. 2013 8 Tempura • Imperative programming language which use subset of ITL: – First interpreter was written in Prolog – Current version: • Roger Hale, Ph.D. thesis in Cambridge , 1984-1985 г., C – Maintenance: Antonio Cau, STRL, De Montfort University • AnaTempura – The centralize surrounding environment of Tempura 28/08/2013 13th Workshop "SERE" Bansko, 26-31 Aug. 2013 9 AnaTempura 28/08/2013 13th Workshop "SERE" Bansko, 26-31 Aug. 2013 10 Approach • Three possible ways: – Wrapping Tempura with I/O Java classes – Creating a complete new Java version of ITL interpreter – Reengineering the existing C-based version of Tempura 28/08/2013 13th Workshop "SERE" Bansko, 26-31 Aug. 2013 11 Why reengineering? • Missing documentation and specification of the basic algorithms used in the interpreter • Homogeneous environment • Using proven system and already prepared test cases 28/08/2013 13th Workshop "SERE" Bansko, 26-31 Aug. 2013 12 Reengineering in steps • Iterative hand-made translation – C to Java without changing the imperative structure of the system – Imperative Java to OO Java – OO Java to AO Java (JADE) 28/08/2013 13th Workshop "SERE" Bansko, 26-31 Aug. 2013 13 Approach schema 28/08/2013 13th Workshop "SERE" Bansko, 26-31 Aug. 2013 14 Schema of the original Tempura C-code store.c val.c system.c mem.c r-assign.c r-expr.c r-int.c init.c errors.c r-io.c top-lev.c io.c r-linear.c version.c r-lists.c parser.c r-symbol.c lexer.c r-system.c 28/08/2013 13th Workshop "SERE" Bansko, 26-31 Aug. 2013 15 Schema of OO Java version TInterpreter TStack TLexer TStatement TLink TString + init () : int TDouble TInputOutput Tempura TBoolean TEnvironment TNode TState TReducer TException TBinding TMemory TIntervalReducer TLocation TName TList TSymbol TListReducer TIOReducer TSystemRecurer TBlock TParser TUtils 28/08/2013 TInteger TSymbolReducer TAssignmentReducer TLinearReducer TExpressionReducer 13th Workshop "SERE" Bansko, 26-31 Aug. 2013 16 Prototype • Imperative Java interpreter – Standard Test Suite • ОО Java interpreter – Extended Test Suite , received from STRL 28/08/2013 13th Workshop "SERE" Bansko, 26-31 Aug. 2013 17 AO Java interpreter • Possibilities – Transform the interpreter in a single agent – Or multi-agent system • InfoStation middleware – To substitute AnaTempura – Decentralized delivery of attribute values from the environment • Development framework – JADE • BDI architecture – BDI4JADE plug-in 28/08/2013 13th Workshop "SERE" Bansko, 26-31 Aug. 2013 18 Package suggestion TInterpreter TStack TLexer TStatement TLink TString + init () : int TDouble TInputOutput Tempura TBoolean TEnvironment TNode TState TReducer TException TBinding TMemory TIntervalReducer TLocation TName TList TSymbol TListReducer TIOReducer TSystemRecurer TBlock TParser TUtils 28/08/2013 TInteger TSymbolReducer TAssignmentReducer TLinearReducer TExpressionReducer 13th Workshop "SERE" Bansko, 26-31 Aug. 2013 19 Transform into package structure TInterpreter ITLAlgorithms 28/08/2013 IOPackage LexerPackage 13th Workshop "SERE" Bansko, 26-31 Aug. 2013 ITLElements 20 AO Tempura life-cycle suggestion : LifeCycleAgent : LPAgent : ReducerAgent 1: Send new formula 2: Recognizing structures 3: Send recognizied structure to be reduce 4: Reducing by specific alg. 5: Send reduced formula and done flag value IF (done_flag== true) send back to environment; else repeat actions from 1 to 5; 28/08/2013 13th Workshop "SERE" Bansko, 26-31 Aug. 2013 21 Next steps • Realisation of an AO Java interpreter prototype • Integration into DeLC agent middleware • Testing in real DeLC environment 28/08/2013 13th Workshop "SERE" Bansko, 26-31 Aug. 2013 22 THANK YOU FOR YOUR ATTENTION 28/08/2013 13th Workshop "SERE" Bansko, 26-31 Aug. 2013 23
© Copyright 2025 Paperzz