23
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

Context-aware management of e-services (Tempura reengineering)

  • Upload
    nodin

  • View
    59

  • Download
    0

Embed Size (px)

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 Presentation

Citation preview

Page 1: Context-aware management of       e-services (Tempura reengineering)

13th Workshop "SERE" Bansko, 26-31 Aug. 2013

1

Context-aware management of e-services(Tempura reengineering)

Vladimir ValkanovUniversity of Plovdiv

28/08/2013

Page 2: Context-aware management of       e-services (Tempura reengineering)

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

Page 3: Context-aware management of       e-services (Tempura reengineering)

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)

Page 4: Context-aware management of       e-services (Tempura reengineering)

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

Page 5: Context-aware management of       e-services (Tempura reengineering)

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

Page 6: Context-aware management of       e-services (Tempura reengineering)

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

Page 7: Context-aware management of       e-services (Tempura reengineering)

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

Page 8: Context-aware management of       e-services (Tempura reengineering)

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

Page 9: Context-aware management of       e-services (Tempura reengineering)

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

Page 10: Context-aware management of       e-services (Tempura reengineering)

13th Workshop "SERE" Bansko, 26-31 Aug. 2013

10

AnaTempura

28/08/2013

Page 11: Context-aware management of       e-services (Tempura reengineering)

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

Page 12: Context-aware management of       e-services (Tempura reengineering)

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

Page 13: Context-aware management of       e-services (Tempura reengineering)

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

Page 14: Context-aware management of       e-services (Tempura reengineering)

13th Workshop "SERE" Bansko, 26-31 Aug. 2013

14

Approach schema

28/08/2013

Page 15: Context-aware management of       e-services (Tempura reengineering)

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

Page 16: Context-aware management of       e-services (Tempura reengineering)

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

Page 17: Context-aware management of       e-services (Tempura reengineering)

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

Page 18: Context-aware management of       e-services (Tempura reengineering)

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

Page 19: Context-aware management of       e-services (Tempura reengineering)

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

Page 20: Context-aware management of       e-services (Tempura reengineering)

13th Workshop "SERE" Bansko, 26-31 Aug. 2013

20

Transform into package structure

28/08/2013

TInterpreter

ITLAlgorithms ITLElementsIOPackage LexerPackage

Page 21: Context-aware management of       e-services (Tempura reengineering)

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;

Page 22: Context-aware management of       e-services (Tempura reengineering)

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

Page 23: Context-aware management of       e-services (Tempura reengineering)

13th Workshop "SERE" Bansko, 26-31 Aug. 2013

23

THANK YOU FOR YOUR ATTENTION

28/08/2013