context-aware management of e-services (tempura reengineering)
DESCRIPTION
Context-aware management of e-services (Tempura reengineering). Vladimir Valkanov University of Plovdiv. DeLC Project. Main goal : delivering e-services to support e-learning ; DeLC architecture : distributed system, containing fixed and mobile nodes ; - PowerPoint PPT PresentationTRANSCRIPT
13th Workshop "SERE" Bansko, 26-31 Aug. 2013
1
Context-aware management of e-services(Tempura reengineering)
Vladimir ValkanovUniversity of Plovdiv
28/08/2013
13th Workshop "SERE" Bansko, 26-31 Aug. 2013
2
DeLC Project
• Main goal: delivering e-services to support e-learning;
• 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
3
Infrastructure of DeLC
28/08/2013
Creativity Assistant (CA)
Agent Village (AV)
eLearning in Software Engineering (eLSE)
DeLC Test Center (DeTC)
Education Portal for Secondary
School
DeLC Portal
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)
13th Workshop "SERE" Bansko, 26-31 Aug. 2013
4
Mobile node middleware
28/08/2013
Connection Advisor Agent
InfoStation
Connection Initiator Agent
Agents Layer
Service Layer
Scanner Agent
Bluetooth API
Database
Connection Agent
Agent Thread
Send ThreadReceive Thread
Scenario Manager Agent
Sophisticated Services
Simple Services
Mobile Devices
Personal Assistant Agents
List of devices and services
Filtered list of devices and
services
Initiate Connection
Create connection agent
Connection
Session Initiation & Maintenence
Service Context Management &
Delivery
Content Repository
Profile Repository
Query Manager Agent
Interface AgentProfile Processor Agent
Content Adaptation Agent
13th Workshop "SERE" Bansko, 26-31 Aug. 2013
5
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
6
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
7
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
13th Workshop "SERE" Bansko, 26-31 Aug. 2013
8
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
9
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
10
AnaTempura
28/08/2013
13th Workshop "SERE" Bansko, 26-31 Aug. 2013
11
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
12
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
13
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
14
Approach schema
28/08/2013
13th Workshop "SERE" Bansko, 26-31 Aug. 2013
15
Schema of the original Tempura C-code
28/08/2013
top-lev.c
init.c
system.cr-assign.c
r-expr.c
r-int.c
r-io.c
r-l inear.c
r-l ists.c
r-symbol.c
r-system.c
mem.c
store.c
io.c
errors.c
version.c
parser.c
lexer.c
val.c
13th Workshop "SERE" Bansko, 26-31 Aug. 2013
16
Schema of OO Java version
28/08/2013
Tempura
TInterpreter
+ init () : int
TReducer
TLexer
TParser
TAssignmentReducer
TException
TInputOutput
TUtils TNode
TInteger TStringTLink
TDouble TBoolean
TEnvironment
TBlock
TBinding
TList
TName
TSymbolTMemory
TLocation
TExpressionReducer
TListReducer
TLinearReducer
TIOReducer
TIntervalReducer
TStatement
TSymbolReducerTSystemRecurer
TStack
TState
13th Workshop "SERE" Bansko, 26-31 Aug. 2013
17
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
18
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
19
Package suggestion
28/08/2013
Tempura
TInterpreter
+ init () : int
TReducer
TLexer
TParser
TAssignmentReducer
TException
TInputOutput
TUtils TNode
TInteger TStringTLink
TDouble TBoolean
TEnvironment
TBlock
TBinding
TList
TName
TSymbolTMemory
TLocation
TExpressionReducer
TListReducer
TLinearReducer
TIOReducer
TIntervalReducer
TStatement
TSymbolReducerTSystemRecurer
TStack
TState
13th Workshop "SERE" Bansko, 26-31 Aug. 2013
20
Transform into package structure
28/08/2013
TInterpreter
ITLAlgorithms ITLElementsIOPackage LexerPackage
13th Workshop "SERE" Bansko, 26-31 Aug. 2013
21
AO Tempura life-cycle suggestion
28/08/2013
: LPAgent : LifeCycleAgent : 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;
13th Workshop "SERE" Bansko, 26-31 Aug. 2013
22
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
23
THANK YOU FOR YOUR ATTENTION
28/08/2013