pptx

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