An Agent-based Middleware for Mobile Computing · 2005-05-05 · An Agent-based Middleware for...

28
Hermes: An Agent-based Middleware for Mobile Computing Flavio Corradini (1) and Emanuela Merelli (1,2) (1) Dipartimento di Matematica e Informatica Università di Camerino, IT (2) Department of Computer Science University of Oregon, USA Bertino 30 April 2005

Transcript of An Agent-based Middleware for Mobile Computing · 2005-05-05 · An Agent-based Middleware for...

Page 1: An Agent-based Middleware for Mobile Computing · 2005-05-05 · An Agent-based Middleware for Mobile Computing Flavio Corradini (1) and Emanuela Merelli ... (80 kb of Java code)

Hermes:An Agent-based Middleware for Mobile Computing

Flavio Corradini (1) and Emanuela Merelli (1,2)

(1) Dipartimento di Matematica e InformaticaUniversità di Camerino, IT

(2) Department of Computer Science University of Oregon, USA

Bertino 30 April 2005

Page 2: An Agent-based Middleware for Mobile Computing · 2005-05-05 · An Agent-based Middleware for Mobile Computing Flavio Corradini (1) and Emanuela Merelli ... (80 kb of Java code)

30th April 2005 FMS-Moby 2

What is HERMES?

- Hermes is a software tool (80 kb of Java code)

- Hermes supports the execution of software applications. The applications it supports can be:- Activity-based- Distributed

Page 3: An Agent-based Middleware for Mobile Computing · 2005-05-05 · An Agent-based Middleware for Mobile Computing Flavio Corradini (1) and Emanuela Merelli ... (80 kb of Java code)

30th April 2005 FMS-Moby 3

Main Aim for Developing Hermes

For the application domains we are interested in applications must be asmuch as easy and intuitive possible to specify

The programmer of applications has to concentrate on the involvedactivities and can ignore implementation strategies or metodologicaldevelopment issues

Hence, we also demands to the (automatic) tool the bridging of the gap between an application specification and the application itself

Page 4: An Agent-based Middleware for Mobile Computing · 2005-05-05 · An Agent-based Middleware for Mobile Computing Flavio Corradini (1) and Emanuela Merelli ... (80 kb of Java code)

30th April 2005 FMS-Moby 4

Then…

Hermes can be easily used even by non computer practitioners…

and, indeed, Hermes was asked by those people.

… but at a lower level of abstraction can be used by experts in the area(Hermes as a middleware for Klaim specifications).

Page 5: An Agent-based Middleware for Mobile Computing · 2005-05-05 · An Agent-based Middleware for Mobile Computing Flavio Corradini (1) and Emanuela Merelli ... (80 kb of Java code)

30th April 2005 FMS-Moby 5

Hermes Design Decisions

Hermes has been designed according to component-based methodology. Thisguaranteed a needed modularity to meet the continuous changes of requirementscoming from “non initiated” final users

To dominate “application complexity” Hermes relies on the “agent technology” asimplementation strategy.

Agents are software components that:- embed a “complete” behaviour in their control,- are autonomous and react to external stimuli and environment- can be mobile (in the sense that they can move from a site another)

They supports modular and compositional design of complex applications.

Code mobility was also very useful in specific application domains. E.g., applications thatrun in devices with very limited computational resources (e.g. embedded software)

Page 6: An Agent-based Middleware for Mobile Computing · 2005-05-05 · An Agent-based Middleware for Mobile Computing Flavio Corradini (1) and Emanuela Merelli ... (80 kb of Java code)

30th April 2005 FMS-Moby 6

Scenario 1: Industrial control

Page 7: An Agent-based Middleware for Mobile Computing · 2005-05-05 · An Agent-based Middleware for Mobile Computing Flavio Corradini (1) and Emanuela Merelli ... (80 kb of Java code)

30th April 2005 FMS-Moby 7

Scenario 1: Industrial control

• Application Domain:• testing of appliance (washing machine etc.)• telemonitoring & teleassistance

• Execution environment• federated enterprises geographically distributed• heterogeneous data format• complex industrial production plants

• Why mobility• tracing products• to update software in remote computational stations• to avoid transfer of proprietary data• to deal with resources with limited computational capabilities

Page 8: An Agent-based Middleware for Mobile Computing · 2005-05-05 · An Agent-based Middleware for Mobile Computing Flavio Corradini (1) and Emanuela Merelli ... (80 kb of Java code)

30th April 2005 FMS-Moby 8

Merozoite

Hepatocyte

Red blood cell Sperozoites

SystemSimulation

Model Validation

System Modelling

MAS ModelValidation

Scenario 2: Bioinformatics and Systems Biology

Validation of the experimental results

Page 9: An Agent-based Middleware for Mobile Computing · 2005-05-05 · An Agent-based Middleware for Mobile Computing Flavio Corradini (1) and Emanuela Merelli ... (80 kb of Java code)

30th April 2005 FMS-Moby 9

Scenario 2: Bioinformatics and Systems Biology

• Application Domain• Modelling and Validation of Biological Systems• Biological experiments

• Execution environment• Geographically distributed• Dynamic, redondant and huge data repositories• Different data schema and semantics

• Why mobility• to support a flexible workflow engine• to reduce network traffic• to support user mobility through the lab

Page 10: An Agent-based Middleware for Mobile Computing · 2005-05-05 · An Agent-based Middleware for Mobile Computing Flavio Corradini (1) and Emanuela Merelli ... (80 kb of Java code)

30th April 2005 FMS-Moby 10

Hermes’ software architecture

Page 11: An Agent-based Middleware for Mobile Computing · 2005-05-05 · An Agent-based Middleware for Mobile Computing Flavio Corradini (1) and Emanuela Merelli ... (80 kb of Java code)

30th April 2005 FMS-Moby 11

Hermes: The Agent-based Middleware

Page 12: An Agent-based Middleware for Mobile Computing · 2005-05-05 · An Agent-based Middleware for Mobile Computing Flavio Corradini (1) and Emanuela Merelli ... (80 kb of Java code)

30th April 2005 FMS-Moby 12

Workflows

Intended for applications that need to coordinate activities, control flows or object/data flow models ...

action sequence decision/merge fork/join iteration

e,A AD1 AD2 AD1 AD2

ADAD1

AD2

Page 13: An Agent-based Middleware for Mobile Computing · 2005-05-05 · An Agent-based Middleware for Mobile Computing Flavio Corradini (1) and Emanuela Merelli ... (80 kb of Java code)

30th April 2005 FMS-Moby 13

Kernel Primitives

• Clonation• Clones code and state of a running agent• The cloned agent starts its execution from a given point• Fix a communication channel between cloning and cloned

• Mobility• Moves an agent from a site to another• Movements happens in a proactive way

• Communication• based on message passing• can be either synchronous or asynchronous• between cloning and cloned

Page 14: An Agent-based Middleware for Mobile Computing · 2005-05-05 · An Agent-based Middleware for Mobile Computing Flavio Corradini (1) and Emanuela Merelli ... (80 kb of Java code)

30th April 2005 FMS-Moby 14

Outline

• Introduction to Hermes and its Mobility

• Hermes by Example

• Hermes in Action

Introduction to Hermes and its Mobility

Page 15: An Agent-based Middleware for Mobile Computing · 2005-05-05 · An Agent-based Middleware for Mobile Computing Flavio Corradini (1) and Emanuela Merelli ... (80 kb of Java code)

30th April 2005 FMS-Moby 15

System’s software architecture

Page 16: An Agent-based Middleware for Mobile Computing · 2005-05-05 · An Agent-based Middleware for Mobile Computing Flavio Corradini (1) and Emanuela Merelli ... (80 kb of Java code)

30th April 2005 FMS-Moby 16

Workflows in Bioinformatics and Systems BiologyDefinitionA workflow is a partial or total automation of a business process in which a collection of

activities must be executed by humans or machines according to certain procedural rules.

Goals• to design and implement a data analysis process (e.g. standardized protocols for oncology

research)• to simulate a high-level biological process (e.g. life cycle of the malaria parassite)

Advantages• to reproduce the analysis, or simulation• to reuse intermediate results, or system’s components• to create a transparent analysis environment, simulation environment• to support a good practice, • to free the bioscientist from repetitive interactaction with the web• to verify system’s properties at structural, functional and dynamic

Page 17: An Agent-based Middleware for Mobile Computing · 2005-05-05 · An Agent-based Middleware for Mobile Computing Flavio Corradini (1) and Emanuela Merelli ... (80 kb of Java code)

30th April 2005 FMS-Moby 17

Simple Workflow Example

Use context: MIS-Stanford -- verification of proteins mutation experiment by in-silicoreproducing

Goal 1: Retrieve abstracts from a molecular biology literature db for identifying the best cell line for reproducing a human TP53 mutation experiment linked to a particulartumour-habits-sex combination

Activities: use Bioinformatics Services available on Internet in order to achieve the desired result

1. Retrieve all mutations (IDs) observed in the 7th exon in men who are ex-smokers and drinkers• by searching p53 mutations database SRS (IST, Genova)

2. Retrieve all mutations (IDs) observed by using B9 cell line as original resource• by searching p53 mutations database SRS (IST , Genova)

3. Retrieve all abstracts of the correlated bibliographic references, of a specific mutation ID• by searching Medline (NCBI)

Achievement: To integrate on-line Bioinformatics data in a unique result freeing the Bioscientist from the need to personally interact with remote sites.

1st Activity

2nd Activity

3rd Activity

Page 18: An Agent-based Middleware for Mobile Computing · 2005-05-05 · An Agent-based Middleware for Mobile Computing Flavio Corradini (1) and Emanuela Merelli ... (80 kb of Java code)

30th April 2005 FMS-Moby 18

The Geographical Distribution

Hermes-Camerino

NCBI

IST-Genova

Research InstituteMIS-Stanford1st Activity

Retrieve all mutations (IDs) observed in the 7th exon in men who are ex-smokers and drinkers

2nd Activity

Find all mutations observed by using B9 cell line

3nd ActivityRetrieve all abstracts of the

correlated bibliographic references, of a specific mutation ID

Page 19: An Agent-based Middleware for Mobile Computing · 2005-05-05 · An Agent-based Middleware for Mobile Computing Flavio Corradini (1) and Emanuela Merelli ... (80 kb of Java code)

30th April 2005 FMS-Moby 19

B1 B4

merge

C1

Info_Mutazioni

Abstract

Intersezione_Mutazioni

Nome_Mutazioni

Intersezione_Mutazioni

Linea Cellulare : linea_cellulare

Intron exon : intron_exonSesso : sexFumo : fumoAlcool : alcool

linea_cellulare= B9intron_exon= 7-exonsex= Mfumo= ex-fumatorealcool= bevitore

Info_MutazioniNome_MutazioniIntersezione_MutazioniAbstract

[Intersezione_Mutazioni = 0]

[Intersezione_Mutazioni> 0]

An Example of Workflow at User Level

1st Activity

Retrieve all mutations (IDs) observed in the 7th exon in men who are ex-smokers and drinkers

2nd Activity

Find all mutations observed by using B9 cell line

3nd Activity

Retrieve all abstracts of the correlated bibliographic references,

of a specific mutation ID

4rd Activity

Page 20: An Agent-based Middleware for Mobile Computing · 2005-05-05 · An Agent-based Middleware for Mobile Computing Flavio Corradini (1) and Emanuela Merelli ... (80 kb of Java code)

30th April 2005 FMS-Moby 20

Global Computation Environment

NCBI

Research InstituteMIS-Stanford

Hermes-Camerino

IST-Genova

Page 21: An Agent-based Middleware for Mobile Computing · 2005-05-05 · An Agent-based Middleware for Mobile Computing Flavio Corradini (1) and Emanuela Merelli ... (80 kb of Java code)

30th April 2005 FMS-Moby 21

Hermes Middleware Architecture

User Application Workflow

ULAD

WorkflowMng

Editor + Compiler

User Layer System Layer

Wrapper Service Agent

TemporaryData

Repository

RetrievalService Agent

Run-Time Layer

MobileUser Agents

FASTA

RDB

HTMLXML

Local Repositories

EMBL

ASN.1

GenBank

TXT

DoSALAID

ADb

NCBI

RSR

EnsEMBL

Ontology MngService Agent

WebServicesService Agent

MatchmakerService Agent

Page 22: An Agent-based Middleware for Mobile Computing · 2005-05-05 · An Agent-based Middleware for Mobile Computing Flavio Corradini (1) and Emanuela Merelli ... (80 kb of Java code)

30th April 2005 FMS-Moby 22

A1: Find information about the cell line named xA2: Find all cell lines derived from a specific tumour or pathologyA3: Find all Cell Lines producing a specific proteinA4: Given a specific Cell Line, find all related bibliographic referencesA5: Given a specific Cell Line, find all information about produced proteins

B1: Find all mutations observed in a specific intron/exon in subjects with specific sex and life habits (i.e. smokers/ drinkers)B2: Find all mutations in subjects affected by a given pathology B3: Find all subjects affected by a tumoural pathology and with a given protein mutationB4: Find all mutations observed by using a given cell lineB5: Given a specific mutation, find all abstracts of the correlated bibliographic references

Activities in Cell Line domain

Activities in Mutation domain

Activities in Bibliographic domain

C1: Select all abstracts of bibliographic references, whose text includes a given termC2: …………………………..

Activities in Hermes

H1: Merge in AIXO-WAH2: …………………………..

Select similar sequences

select PDB structuresfrom sequences

MaxSequences: IntegerSequenceType: seqTypenewSequence: String

MaxSequences: IntegerSequenceType: seqTypenewSequence: String

Select articles from sequences

Find crystallographicstructures from PDB Structures

Sequences: String [ ]BlastVersion: String

Sequences: String [ ]BlastVersion: String

Sequence: String[]Sequence: String[]

Articles:File[ ]Articles:File[ ]

String[ ]String[ ]

PDBstruct[ ]PDBstruct[ ]

File[ ]File[ ]

Cstructure [ ]Cstructure [ ]Find crystallographic

structures from articles

Union

PDBlist : PDBstruct[ ]PDBlist : PDBstruct[ ]

Cstructure [ ]Cstructure [ ]

SIMILARITYTool: StringSeqRepositories: String[ ]

SIMILARITYTool: StringSeqRepositories: String[ ]

CONGIF: SIMILARITYCONGIF: SIMILARITY

PDBPDBRepositories: String [ ]

PDBPDBRepositories: String [ ]

CONGIF: PDBCONGIF: PDB

ARTICLESArticleRepositories: String [ ]

ARTICLESArticleRepositories: String [ ]

CONGIF: PDBCONGIF: PDB

CONGIF: ARTICLESCONGIF: ARTICLES

array1: [ ]array2: [ ]

array1: [ ]array2: [ ]

CONGIF: PDBCONGIF: PDB

[ ][ ]

FTPUploadResultcontent: ANYcontent: ANY

CONGIF: FTPCONGIF: FTP

FTPFTPSite: StringUserName: StringPasswords: String

FTPFTPSite: StringUserName: StringPasswords: String

Select similar sequences

select PDB structuresfrom sequences

MaxSequences: IntegerSequenceType: seqTypenewSequence: String

MaxSequences: IntegerSequenceType: seqTypenewSequence: String

Select articles from sequences

Find crystallographicstructures from PDB Structures

Sequences: String [ ]BlastVersion: String

Sequences: String [ ]BlastVersion: String

Sequence: String[]Sequence: String[]

Articles:File[ ]Articles:File[ ]

String[ ]String[ ]

PDBstruct[ ]PDBstruct[ ]

File[ ]File[ ]

Cstructure [ ]Cstructure [ ]Find crystallographic

structures from articles

Union

PDBlist : PDBstruct[ ]PDBlist : PDBstruct[ ]

Cstructure [ ]Cstructure [ ]

SIMILARITYTool: StringSeqRepositories: String[ ]

SIMILARITYTool: StringSeqRepositories: String[ ]

CONGIF: SIMILARITYCONGIF: SIMILARITY

PDBPDBRepositories: String [ ]

PDBPDBRepositories: String [ ]

CONGIF: PDBCONGIF: PDB

ARTICLESArticleRepositories: String [ ]

ARTICLESArticleRepositories: String [ ]

CONGIF: PDBCONGIF: PDB

CONGIF: ARTICLESCONGIF: ARTICLES

array1: [ ]array2: [ ]

array1: [ ]array2: [ ]

CONGIF: PDBCONGIF: PDB

[ ][ ]

FTPUploadResultcontent: ANYcontent: ANY

CONGIF: FTPCONGIF: FTP

FTPFTPSite: StringUserName: StringPasswords: String

FTPFTPSite: StringUserName: StringPasswords: String

Activity Database (ADb) to Define a Wf

Page 23: An Agent-based Middleware for Mobile Computing · 2005-05-05 · An Agent-based Middleware for Mobile Computing Flavio Corradini (1) and Emanuela Merelli ... (80 kb of Java code)

30th April 2005 FMS-Moby 23

Workflow (Context-Aware) Compiler

The compiler generates a pool of cooperating agents form the workflow specification

Two steps compilation:• Step1: from user level Wf to agent level Wf

• User Level Activity Database (ULAD) • contains the mapping from each user activity to an agent level Wf specification

• Step 2: agent synthesis • Database of Skeletons (DoS)

• contains the “empty” implementation of an agent role (skeleton)• Agent-Level Activity Implementation Database (ALAID)

• contains the implementation of each agent level activity

Context-awarenessThe compiler takes advantage of information about the state of the global environment during the agent synthesis

Page 24: An Agent-based Middleware for Mobile Computing · 2005-05-05 · An Agent-based Middleware for Mobile Computing Flavio Corradini (1) and Emanuela Merelli ... (80 kb of Java code)

30th April 2005 FMS-Moby 24

Compiler Step 1: from User to Agent Level Workflow

ULAD

Page 25: An Agent-based Middleware for Mobile Computing · 2005-05-05 · An Agent-based Middleware for Mobile Computing Flavio Corradini (1) and Emanuela Merelli ... (80 kb of Java code)

30th April 2005 FMS-Moby 25

Compiler Step 2: executable application agents

Compiler

DoS ALAID

ActivityActivityActivityActivity

ActivityActivity

Activity

Activity

Page 26: An Agent-based Middleware for Mobile Computing · 2005-05-05 · An Agent-based Middleware for Mobile Computing Flavio Corradini (1) and Emanuela Merelli ... (80 kb of Java code)

30th April 2005 FMS-Moby 26

Main Publications

- F. Corradini, E. Merelli. Hermes: An agent-based middleware for Mobile Computing. FMS-Moby, Springer, LNCS 3465, pp. 234-270, 2005

- F. Corradini, L. Mariani, E. Merelli. An agent-based layered middleware as toolintegration. Journal of Software Tools Technology Transfer, Vol. 6, pp. 231-244, 2004

- D. Bonura, F. Corradini, E. Merelli, G. Romiti. FARMAS: a MAS for ExtendedQuality Workflow. Int. Work. on Theory and Practice of Open ComputationalSystems, TAPOCS’04, IEEE, 2004

- F. Corradini, R. Culmone, M. R. Di Berardini. Code Mobility for PervasiveComputing. Int. Work. on Theory and Practice of Open Computational Systems, TAPOCS’04, IEEE, 2004

- F. Corradini, E. Merelli, M. Vita. A Multi-Agent System for Modelling CarbohydrateOxidation in Cell. First International Workshop On Modelling Complex Systems, MCS'05, LNCS, 2005

Page 27: An Agent-based Middleware for Mobile Computing · 2005-05-05 · An Agent-based Middleware for Mobile Computing Flavio Corradini (1) and Emanuela Merelli ... (80 kb of Java code)

30th April 2005 FMS-Moby 27

Hermes Software

• Downloadable from

http://hermes.cs.unicam.itor

http://www.bioagent.net

Page 28: An Agent-based Middleware for Mobile Computing · 2005-05-05 · An Agent-based Middleware for Mobile Computing Flavio Corradini (1) and Emanuela Merelli ... (80 kb of Java code)

30th April 2005 FMS-Moby 28

Thanks to:

Marco Bernardo and Alessandro Bogliolo

Co- Directors of FMS-Moby

Ezio Bartocci, Diego Bonura, Rosario Culmone, Maria Rita Di Berardini,Leonardo Mariani, Leonardo Vito

For their contribution