49
THE AGENT SYSTEMS ENGINEERING METHODOLOGY (ASEME) Νικόλαος Σπανουδάκης [email protected] ΕΕΔΙΠ ΙΙ Γενικό Τμήμα Πολυτεχνείου Κρήτης Αθήνα, 18 Μαΐου, 2011

THE AGENT SYSTEMS ENGINEERING METHODOLOGY (ASEME)

  • Upload
    helmut

  • View
    37

  • Download
    0

Embed Size (px)

DESCRIPTION

THE AGENT SYSTEMS ENGINEERING METHODOLOGY (ASEME). Νικόλαος Σπανουδάκης [email protected] ΕΕΔΙΠ ΙΙ Γενικό Τμήμα Πολυτεχνείου Κρήτης Αθήνα , 18 Μαΐου, 2011. Περιεχόμενα παρουσίασης. Εισαγωγή - PowerPoint PPT Presentation

Citation preview

Page 1: THE AGENT SYSTEMS ENGINEERING METHODOLOGY (ASEME)

THE AGENT SYSTEMS ENGINEERING METHODOLOGY (ASEME)

Νικόλαος Σπανουδάκης[email protected]ΕΕΔΙΠ ΙΙΓενικό Τμήμα Πολυτεχνείου Κρήτης

Αθήνα, 18 Μαΐου, 2011

Page 2: THE AGENT SYSTEMS ENGINEERING METHODOLOGY (ASEME)

Περιεχόμενα παρουσίασης

Εισαγωγή Παρουσίαση των μοντέλων της Γλώσσας

Μοντελοποίησης Πρακτόρων (Agent MOdeling Language – AMOLA)

Παρουσίαση της Μεθοδολογίας Δημιουργίας Πρακτοροστραφών Συστημάτων (Agent Syst. Engineering Methodology – ASEME)

Δια και ενδο-πρακτορικός έλεγχος (inter and intra-agent control)

Συμπεράσματα – Μελλοντικές επεκτάσεις12/5/2011 2Ν. Σπανουδάκης

Page 3: THE AGENT SYSTEMS ENGINEERING METHODOLOGY (ASEME)

Τοποθέτηση στον επιστημονικό χώρο Η Τεχνολογία Λογισμικού (Software Engineering,

IEEE, 1990) : Εφαρμόζει μια συστηματική, μεθοδική προσέγγιση στην

ανάπτυξη, λειτουργία και συντήρηση του λογισμικού Μια διαδικασία ανάπτυξης λογισμικού (software

process) απαντά στα ερωτήματα (Boehn, 1988): Τι θα κάνουμε μετά; Για πόσο χρόνο θα συνεχίσουμε να το κάνουμε;

Μια μεθοδολογία ανάπτυξης λογισμικού (software methodology) είναι ένα προδιαγεγραμμένο και οργανωμένο σύνολο τεχνικών και κανόνων οι οποίοι ορίζουν από ποιον και με ποια σειρά θα χρησιμοποιηθούν οι τεχνικές (Tolvanen, 1998)

12/5/2011 3Ν. Σπανουδάκης

Page 4: THE AGENT SYSTEMS ENGINEERING METHODOLOGY (ASEME)

Πρακτοροστραφής Μηχανική Λογισμικού

Agent Oriented Software Engineering (AOSE) Από τον χώρο της κατανεμημένης τεχνητής

νοημοσύνης και των συστημάτων πολλαπλών πρακτόρων (ΣΠΠ) – Multi-Agent Systems (MAS) δημιουργήθηκε η ανάγκη για την ανάπτυξη λογισμικού το οποίο θα είναι (Wooldridge and Jennings, 1995; Weiss, 2003): Αυτόνομο (autonomous) Κοινωνικό (social) Αντιδραστικό (reactive) Ικανό να παίρνει πρωτοβουλίες (pro-active) Προσαρμοστικό (adaptive) Διαρκές (persistent)

12/5/2011 4Ν. Σπανουδάκης

Page 5: THE AGENT SYSTEMS ENGINEERING METHODOLOGY (ASEME)

Οι πιο γνωστές μεθοδολογίες AOSE The Gaia Methodology (Wooldridge et al., 2000) Agent UML (Odell et al., 2000) Multi-agent Systems Engineering (Deloach et

al., 2001) PASSI (Burrafato and Cossentino, 2002) Prometheus (Padgham and Winikoff, 2003) Tropos (Bresciani et al., 2004) ADELFE, Ingenias, …

12/5/2011 5Ν. Σπανουδάκης

Page 6: THE AGENT SYSTEMS ENGINEERING METHODOLOGY (ASEME)

Γιατί χρειαζόμαστε μια νέα Μεθοδολογία; Τι λείπει; Μια σαφής διαδικασία μετατροπής των μοντέλων των

διαφορετικών φάσεων σε πρόγραμμα υπολογιστή (Model-driven Engineering orientation)

Η απεικόνιση πολύπλοκων συστημάτων σε διαφορετικά επίπεδα αφαίρεσης (abstraction)

Μια μέθοδος ενσωμάτωσης των πρωτοκόλλων επικοινωνίας και των ικανοτήτων ενός πράκτορα

Η δυνατότητα μοντελοποίησης ΣΠΠ ανεξάρτητα από το χρησιμοποιούμενο μοντέλο σκέψης (agent mental model) χρησιμοποιώντας τις έννοιες της ικανότητας και λειτουργίας (capability and functionality)

Βοήθεια στην αναγνώριση των πρακτόρων Η προσέγγιση των μη-λειτουργικών απαιτήσεων …

12/5/2011 6Ν. Σπανουδάκης

Page 7: THE AGENT SYSTEMS ENGINEERING METHODOLOGY (ASEME)

Προεπισκόπηση της ASEME

12/5/2011 7Ν. Σπανουδάκης

Page 8: THE AGENT SYSTEMS ENGINEERING METHODOLOGY (ASEME)

Μηχανική Οδηγούμενη από ΜοντέλαModel Driven Engineering (MDE) MDE (Beydeda et al., 2005) είναι η συστηματική

χρήση μοντέλων ως πρωταρχικά εργαλεία καθόλο τον κύκλο ζωής του έργου λογισμικού στοχεύοντας σε φορητότητα, διαλειτουργικότητα και επαναχρησιμότητα

Βασίζεται σε μετασχηματισμούς μοντέλων και σε μεταμοντέλα

(Jouault and Bézivin, 2006)

12/5/2011 8Ν. Σπανουδάκης

Page 9: THE AGENT SYSTEMS ENGINEERING METHODOLOGY (ASEME)

Μετασχηματισμοί ΜοντέλωνModel Transformation Μετασχηματισμός:

Είσοδος: το μοντέλο πηγής Ma που είναι σύμφωνο με το μεταμοντέλο MMa

Έξοδος: το μοντέλο στόχος Mb που είναι σύμφωνο με το μεταμοντέλο MMb

Τέσσερις τύποι μετασχηματισμών (Langlois et al., 2007): Μοντέλο σε μοντέλο (M2M) Μοντέλο σε κείμενο (M2T) Κείμενο σε μοντέλο (T2M) Κείμενο σε κείμενο (T2T)

MMM

MMb

Ma

Legend

conformsTo transformation

MMtMMa

Mb

Tab

M2M

executes

12/5/2011 9Ν. Σπανουδάκης

Page 10: THE AGENT SYSTEMS ENGINEERING METHODOLOGY (ASEME)

Το μεταμεταμοντέλο ecore

Του Eclipse Modeling Framework (EMF)

12/5/2011 Ν. Σπανουδάκης 10

Page 11: THE AGENT SYSTEMS ENGINEERING METHODOLOGY (ASEME)

Μοντέλα AMOLA: Ανάλυση Απαιτήσεων Το Μοντέλο Δραστών-

Στόχων (SAG) βασίζεται στο actor diagram της μεθοδολογίας Tropos

Το μεταμοντέλο του ορίζεται σύμφωνα με το μεταμεταμοντέλο Ecore (EMF)

Meetings Manager

Personal Assistant

Request new

meeting

Learn user

habitsFaculty

Personnel

Manage meetings

12/5/2011 11Ν. Σπανουδάκης

Page 12: THE AGENT SYSTEMS ENGINEERING METHODOLOGY (ASEME)

12/5/2011

System

Μοντέλα AMOLA: Ανάλυση Συστήματος To Διάγραμμα Περίπτωσης

Χρήσης (SUC) βασισμένο στα UML use cases

Και το μεταμοντέλο του

Personal Assistant

Request new meeting

Manage meetings

Learn user habits

FacultyPersonnel

12Ν. Σπανουδάκης

Meetings Manager

Page 13: THE AGENT SYSTEMS ENGINEERING METHODOLOGY (ASEME)

Μοντέλα AMOLA: Ανάλυση Συστήματος (συνέχεια) Το Μοντέλο Ρόλων

(SRM) βασίζεται στο Gaia roles model

And its metamodel definition

Role: Personal AssistantCapabilities and Protocols:learn user habits, request new meeting: personal assistant, …Activities:learn user preference, update user preferences, …Liveness:personal assistant = request new meeting || learn user habitslearn user habits = learn user preference. update user preferences…

12/5/2011 13Ν. Σπανουδάκης

Page 14: THE AGENT SYSTEMS ENGINEERING METHODOLOGY (ASEME)

Όπου η γραμματική για τις φόρμουλες ορίζεται με BNF:

liveness → { formula } formula → leftHandSide = expression leftHandSide → string expression → term | parallelExpression | orExpression | sequentialExpression parallelExpression → term || term || … || term orExpression → term | term | … | term sequentialExpression → term . term . … . term term → basicTerm | (expression) | [expression] | term* | term+ | termω | |termω|number basicTerm → string number → digit | digit number digit → 1 | 2 | 3 | … string → letter | letter string letter → a | b | c | …

Η σημασία των συμβολισμών

12/5/2011 Ν. Σπανουδάκης 14

Operator Interpretationx . y x followed by yx | y x or y occursx* x occurs 0 or more timesx+ x occurs 1 or more timesx ω x occurs infinitely often[x] x is optional

x || y x and y interleaved|x ω|n x occurs infinitely often n

times in parallel

Page 15: THE AGENT SYSTEMS ENGINEERING METHODOLOGY (ASEME)

AMOLA: Φάση Σχεδίασης inter και intra-agent control

Μεταμοντέλο:

12/5/2011 15Ν. Σπανουδάκης

Τα μοντέλα δια (EAC) και ενδο-πρακτορικού ελέγχου (IAC) βασίζονται στο διάγραμμα καταστάσεων

Page 16: THE AGENT SYSTEMS ENGINEERING METHODOLOGY (ASEME)

Βασισμένο στον τυπικό ορισμό ενός διαγράμματος καταστάσεων:

Definition 3.7. A statechart is a tuple (L, δ) where:

L = (S, λ, Var, Name, Activity) is an ordered rooted tree structure representing the states of the statechart.

S⊆ℕ* is the set of all nodes in the tree.

λ: S {AND, OR, BASIC, START, END, CONDITION} is a mapping from the set of nodes to labels giving the type of each node. For l∈S let AND(l) denote that λ(l)=AND. Similarly OR(l) denotes that λ(l)=OR and the same holds for all labels. START and END denote those nodes without activity, which exist so that execution can start and end inside OR-states. BASIC corresponds to a basic state. A condition state is denoted as CONDITION. START, END, BASIC and CONDITION nodes are leaves of L.

Var is a mapping from nodes to sets of variables. var(l) stands for the subset of local variables of a particular node l.

Name is a mapping from nodes to their names. name(l) stands for the name of a particular node l.

Activity is a mapping from nodes to their algorithms in text format implementing the processes of the respective states. activity(l) stands for the algorithm of a particular state that is represented by node l.

δ ⊆ S × TE × S is the set of state transitions, where TE is a set of transitionExpression

elements.

Τέτοιοι ορισμοί είναι αναγκαίοι για τον ορισμό εργαλείων CASE (Computer-aided software engineering)

12/5/2011 Ν. Σπανουδάκης 16

Page 17: THE AGENT SYSTEMS ENGINEERING METHODOLOGY (ASEME)

Μεθοδολογία ASEME

Ορίζεται σύμφωνα με το Μεταμοντέλο Περιγραφής Διαδικασιών Ανάπτυξης Λογισμικού SPEM (Software Process Engineering Metamodel) της OMG

Συμβολισμοί:

12/5/2011 Ν. Σπανουδάκης 17

Page 18: THE AGENT SYSTEMS ENGINEERING METHODOLOGY (ASEME)

Οι Μετασχηματισμοί στην ASEME Οι μετασχηματισμοί είναι πλήρως

αυτοματοποιημένοι Το μοντέλο μιας προηγούμενης φάσης

μετασχηματίζεται σε ένα αρχικό μοντέλο της επόμενης φάσης (initial model)

Ο μηχανικός επεξεργάζεται και ραφινάρει το αρχικό μοντέλο δημιουργώντας την τελική έκδοση (refined model)

12/5/2011 18Ν. Σπανουδάκης

Page 19: THE AGENT SYSTEMS ENGINEERING METHODOLOGY (ASEME)

ASEME: Φάση Ανάλυσης Απαιτήσεων

12/5/2011 Ν. Σπανουδάκης 19

Requirements Analysis

Define goals

Requirementsdocument

Define actors Define requirements for each goal

SAG RPG

Firm Representative

Business Consultant

Page 20: THE AGENT SYSTEMS ENGINEERING METHODOLOGY (ASEME)

Δημιουργία και Επεξεργασία του Μοντέλου Δραστών-Στόχων (SAG)

Meetings Manager

Personal Assistant

Request new

meeting

Learn user

habits

12/5/2011 20Ν. Σπανουδάκης

Page 21: THE AGENT SYSTEMS ENGINEERING METHODOLOGY (ASEME)

ASEME: Φάση Ανάλυσης Συστήματος

Refine use cases

SAG2SUC Define Functionalities

SUC2SRMDefine agent interaction protocols

SAG

RPG

AIP

SRMSUC FT

Define the Liveness formulas

Analysis

Analyst

12/5/2011 21Ν. Σπανουδάκης

Page 22: THE AGENT SYSTEMS ENGINEERING METHODOLOGY (ASEME)

Ο μετασχηματισμός SAG 2 SUC

Meetings Manager

Personal Assistant

Request new

meeting

Learn user

habitsMeetings Manager

Personal Assistant

Request new meeting

Learn user habits

12/5/2011 22Ν. Σπανουδάκης

Page 23: THE AGENT SYSTEMS ENGINEERING METHODOLOGY (ASEME)

Επεξεργασία του μοντέλου SUC

Meetings Manager

Personal Assistant

Request new meeting

Learn user habits

Send new request

Receive new results

Update user preferences

Learn user preference

Send new results

Receive new request

<<include>>

<<include>>

<<include>>

<<include>>

<<include>>

<<include>>

12/5/2011 23Ν. Σπανουδάκης

Page 24: THE AGENT SYSTEMS ENGINEERING METHODOLOGY (ASEME)

Ο μετασχηματισμός SUC 2 SRM

Meetings Manager

Personal Assistant

Request new meeting

Learn user habits

Send new request

Receive new results

Update user preferences

Learn user preference

Send new results

Receive new request

<<include>>

<<include>>

<<include>>

<<include>>

<<include>>

<<include>>

12/5/2011 24Ν. Σπανουδάκης

Page 25: THE AGENT SYSTEMS ENGINEERING METHODOLOGY (ASEME)

Ο μετασχηματισμός SUC 2 SRM

Personal Assistant

<<include>>

<<include>>

<<include>>

<<include>>

Role:Capabilities and Protocols:

Activities:

Personal Assistant

Learn user habits

Request new meeting

Learn user habits

Send new request

Receive new results

Learn user preference

Update user preferences

Request new meeting

Send new request

Receive new results

Update user preferences

Learn user preference

12/5/2011 25Ν. Σπανουδάκης

Page 26: THE AGENT SYSTEMS ENGINEERING METHODOLOGY (ASEME)

Εκλέπτυνση SRMRole: Personal AssistantCapabilities and Protocols:manage meetings, learn user habits,negotiate meeting date, request change meeting, request new meetingActivities:get user request, read schedule, show results,learn user preference, update user preferences,send change request, receive change results, send new request, receive new results,receive proposed date, decide response, send results, receive outcome, update scheduleLiveness:personal assistant = ?manage meetings = get user request ? read schedule ? request change meeting ? request new meeting? show resultslearn user habits = learn user preference ? update user preferencesrequest new meeting = send new request. receive new resultsrequest change meeting = send change request. receive change resultsnegotiate meeting date = receive proposed date. (decide response. send results. receive outcome)+ ? update schedule

12/5/2011 26Ν. Σπανουδάκης

Request new meeting Negotiate meeting date

Participants Personal Assistant Meetings Manager Personal Assistant Meetings Manager

Rules for engaging

He needs to create a meeting

- He needs to create or participate to a meeting

He has a meeting with more than one participants that has no date assigned to it

Outcomes He has received a confirmation of the meeting creation

- He has scheduled participation to a meeting

He has arranged a meeting that met all the participants needs

Process request new meeting = send new request. receive new results

request new meeting = receive new request. send new results

negotiate meeting date = receive proposed date. (decide response. send results. receive outcome)+

negotiate meeting date = (decide on date. send proposed date. receive results)+. send fixed date.

Page 27: THE AGENT SYSTEMS ENGINEERING METHODOLOGY (ASEME)

Εκλέπτυνση SRMRole: Personal AssistantCapabilities and Protocols:manage meetings, learn user habits,negotiate meeting date, request change meeting, request new meetingActivities:get user request, read schedule, show results,learn user preference, update user preferences,send change request, receive change results, send new request, receive new results,receive proposed date, decide response, send results, receive outcome, update scheduleLiveness:personal assistant = (manage meetings. learn user habits)ω || (negotiate meeting date)ω

manage meetings = get user request. (read schedule | request change meeting | request new meeting). show resultslearn user habits = learn user preference. update user preferencesrequest new meeting = send new request. receive new resultsrequest change meeting = send change request. receive change resultsnegotiate meeting date = receive proposed date. (decide response. send results. receive outcome)+. update schedule

12/5/2011 27Ν. Σπανουδάκης

Page 28: THE AGENT SYSTEMS ENGINEERING METHODOLOGY (ASEME)

ASEME: Φάση Σχεδίασης

Define inter-agent control model

Define intra-agent control model

Define components

Available Message Types

Ontology Declarative or procedural knowledge

RPGAIP

EAC

SRM

IAC

FT

Design

Designer

Gaia operators transformation templates

Define transition expressions

Define ontology

RPG

Define messages performatives

AIP2EAC

OntologyAvailable message types

AIP

EAC

Designer

Define inter-agent control model

EAC

Ontology

Gaia operators transformation templates

Define transition expressions

RPG

Import transition expressions from the inter-

agent control model

SRM2IAC

IAC

SRM

Designer

Define intra-agent control model

12/5/2011 28Ν. Σπανουδάκης

Page 29: THE AGENT SYSTEMS ENGINEERING METHODOLOGY (ASEME)

Μετασχηματισμός SRM 2 IACLiveness:

personal assistant = (manage meetings. learn user habits)ω || (negotiate meeting date)ω

learn user habits = learn user preference. update user preferences

learn user habits

manage meetings

update user preferences

learn user preference

negotiate meeting date

x || y

x

y

xω SxSx

x . y Sx

Sy

Sx

Sy

L.2...

L

xωOR

x

L.1START

L.2

x.yOR

L.2.3...y

L.2.2...x

L.2.1START

L.2.4END

12/5/2011 29Ν. Σπανουδάκης

Page 30: THE AGENT SYSTEMS ENGINEERING METHODOLOGY (ASEME)

Μετασχηματισμός IAC 2 JADEFor each node in S If node is root then create Agent class Else if λ(node)=”BASIC” then create a SimpleBehaviour Else if λ(node)=”AND” then create a ParallelBehaviour (|| gaia op.) Else if sons(node).size() = 2 and there exists transitionExpression x | (node.2, x,

node.2) belongs to δ then create a CyclicBehaviour (ω gaia op.) Else if sons(node).size() = 3 and there exists transitionExpression x | (node.2, x,

node.2) belongs to δ then create a SimpleBehaviour (+ gaia op.) Else if there exists x belongs to sons(node) | λ(x)=CONDITION then If sons(node).size() = 4 then create a SimpleBehaviour (* gaia op.) Else create a SequentialBehaviour (| gaia op.) End if Else create a SequentialBehaviour (. gaia op.) End ifEnd for

12/5/2011 30Ν. Σπανουδάκης

Page 31: THE AGENT SYSTEMS ENGINEERING METHODOLOGY (ASEME)

Δια και ενδο-πρακτορικός έλεγχος Ο δια-πρακτορικός έλεγχος (EAC) είναι ένα διάγραμμα

καταστάσεων το οποίο ορίζει την παράλληλη συμπεριφορά δύο ή περισσοτέρων πρακτόρων

Ο ενδο-πρακτορικός έλεγχος (IAC) συντονίζει τις αλληλεπιδράσεις μεταξύ των ικανοτήτων ενός πράκτορα

Κάθε ρόλος σε ένα μοντέλο EAC μπορεί να ενσωματωθεί σε ένα IAC και μπορεί να εκλεπτυνθεί: Μετατρέποντας μια κατάσταση σε πολύπλοκη κατάσταση

(superstate) με υπο-καταστάσεις (substates) Προσθέτοντας καταστάσεις των οποίων οι μεταβάσεις δεν έχουν

συνθήκες αμέσως μετά το START state (αρχικοποίηση) ή πριν το END (αποθήκευση αποτελέσματος)

Το IAC επιτρέπει την παράλληλη εκτέλεση πολλών δια-πρακτορικών πρωτοκόλλων

12/5/2011 31Ν. Σπανουδάκης

Page 32: THE AGENT SYSTEMS ENGINEERING METHODOLOGY (ASEME)

personal assistant

learn user habits

update user preferences

learn user preference

manage meetings

show results

get user request

request new meeting

send new request

receive new results

request change meeting

send change request

receive change results

read schedule

c

negotiate meeting date

Ενσωματώνοντας ένα μοντέλο EAC σε ένα μοντέλο IAC

12/5/2011 32Ν. Σπανουδάκης

Page 33: THE AGENT SYSTEMS ENGINEERING METHODOLOGY (ASEME)

Υπο-διάλογοι (sub-dialogs)personal assistant

learn user habits

update user preferences

learn user preference

manage meetings

show results

get user request

request new meeting

send new request

receive new results

request change meeting

send change request

receive change results

read schedule

c

negotiate meeting datereceive

proposed date

update schedule

decide response

send results

receive outcome

provide schedule

information

receive schedule request

read schedule

send schedule

12/5/2011 33Ν. Σπανουδάκης

Page 34: THE AGENT SYSTEMS ENGINEERING METHODOLOGY (ASEME)

Ενσωματωμένοι διάλογοι (embedded

dialogs)Request for Services

service provider (sp) service requester (sr)

receive request

message

Request(sr,sp,request)/t1 = 10000

send request

message

process request

Request(sr,sp,request)/t2 = 10000

request ≠�∅

receive response message

Inform(sp,sr,results) ∨Refuse(sp,sr,results) ∨ Failure(sp,sr,results) ∨

timeout(t1) = True

send response message

Inform(sp,sr,results) ∨ Refuse(sp,sr,results) ∨

Failure(sp,sr,results)

cresults ≠�∅

timeout(t2) = True

request for services SP

request for services SPω … 10 times

broker

receive request

message

send response message

process request

cservice match

invoke data management

request for services SR

receive message

send message

c

c

12/5/2011 34Ν. Σπανουδάκης

Page 35: THE AGENT SYSTEMS ENGINEERING METHODOLOGY (ASEME)

Μετασχηματισμός IAC σε μοντέλο διαδικασίας (process model) Εμπειροτεχνική μέθοδος για τον μετασχ/σμό

ενός IAC σε μοντέλο διαδικασίας Βοηθάει στην επαλήθευση, προσομοίωση και

βελτιστοποίηση (ASK-IT project)

12/5/2011 35Ν. Σπανουδάκης

Page 36: THE AGENT SYSTEMS ENGINEERING METHODOLOGY (ASEME)

Εμπειρικά αποτελέσματα εφαρμογής ASEME με τις τεχνολογίες JADE (target agent platform) Rhapsody (CASE tool, target java platform) Eclipse (integrated development environment) EMF – ecore (metamodel definition) OMG MOF (XMI representation of models) OMG HUTN (free text model representation) ATL (M2M transformation) Epsilon (T2M transformation) Xpand (M2T transformation) Micro Saint (process validation and optimization)

12/5/2011 36Ν. Σπανουδάκης

Page 37: THE AGENT SYSTEMS ENGINEERING METHODOLOGY (ASEME)

Δουλεύοντας το μοντέλο SAG

12/5/2011 37Ν. Σπανουδάκης

Page 38: THE AGENT SYSTEMS ENGINEERING METHODOLOGY (ASEME)

Μετασχηματισμός M2M

12/5/2011 38Ν. Σπανουδάκης

Page 39: THE AGENT SYSTEMS ENGINEERING METHODOLOGY (ASEME)

Μετασχηματισμός M2M (συνέχεια)

12/5/2011 39Ν. Σπανουδάκης

Page 40: THE AGENT SYSTEMS ENGINEERING METHODOLOGY (ASEME)

Το πλάνο του μετασχηματισμού

12/5/2011 Ν. Σπανουδάκης 40

Ecore.ecore

SUC.ecore

SAGModel.xmi

ATLSAG.ecore

SUCModelInitial.xmi

SAG2SUC.atl

M2M

XMI: XML Metadata Interchange

Page 41: THE AGENT SYSTEMS ENGINEERING METHODOLOGY (ASEME)

Μετασχηματισμός T2M

12/5/2011 41Ν. Σπανουδάκης

Page 42: THE AGENT SYSTEMS ENGINEERING METHODOLOGY (ASEME)

Μετασχηματισμός M2T

12/5/2011 42Ν. Σπανουδάκης

Page 43: THE AGENT SYSTEMS ENGINEERING METHODOLOGY (ASEME)

Μετασχηματισμός M2T - JADE

12/5/2011 43Ν. Σπανουδάκης

Page 44: THE AGENT SYSTEMS ENGINEERING METHODOLOGY (ASEME)

Μετασχηματισμός M2T–Market miner

12/5/2011 44Ν. Σπανουδάκης

Page 45: THE AGENT SYSTEMS ENGINEERING METHODOLOGY (ASEME)

Συμπεράσματα

Η ASEME (μαζί με την AMOLA) είναι μια οδηγούμενη από μοντέλα μεθοδολογία ανάπτυξης συστημάτων πρακτόρων η οποία: Ξεκινάει από την ανάλυση απαιτήσεων και φτάνει στην

δημιουργία του κώδικα Ενσωματώνει τους ρόλους των πρακτόρων σε

διάφορα πρωτόκολλα στις ικανότητες ενός πράκτορα χρησιμοποιώντας ένα κοινό φορμαλισμό (statechart)

Έχει επαληθευτεί εμπειρικά με δύο εφαρμογές σε πραγματικά συστήματα και μία σαν παράδειγμα για την αντιπαράθεσή της με άλλες αντίστοιχες μεθοδολογίες

12/5/2011 45Ν. Σπανουδάκης

Page 46: THE AGENT SYSTEMS ENGINEERING METHODOLOGY (ASEME)

Μελλοντικές Επεκτάσεις Δημιουργία καλύτερων γραφικών εργαλείων στο eclipse για την υποστήριξη των

φάσεων ανάπτυξης Βελτίωση του αυτόματα δημιουργούμενου κώδικα για το JADE, ενσωμάτωση

περισσότερης πληροφορίας από τις εκφράσεις μετάβασης, ενσωμάτωση σε περιβάλλον OSGi

Αυτοματοποίηση του μετασχηματισμού του IAC σε process model (επιλογή ανάμεσα από XPDL, BPMN, ??)

Ανάλυση απόδοσης σε μεγάλης κλίμακας συστήματα Συστηματική συλλογή και επεξεργασία εμπειρικών αποτελεσμάτων

χρήσης της ASEME και σύγκριση με άλλες μεθοδολογίες ίσως στα πλαίσια κάποιου μεταπτυχιακού μαθήματος

Δυνατότητα του πράκτορα να εκμεταλλευτεί την πληροφορία της λειτουργίας του IAC στο run-time (σύγχρονος χώρος έρευνας: models@runtime) για να εμφανίσει ικανότητα αυτό-ελέγχου (self-assessment) και αυτο-επισκευής (self-healing) (σύγχρονος χώρος έρευνας: autonomic systems)

Εξελικτικές Μέθοδοι στα statecharts για προσαρμοστικότητα (σύγχρονος χώρος έρευνας: adaptive systems)

12/5/2011 46Ν. Σπανουδάκης

Page 47: THE AGENT SYSTEMS ENGINEERING METHODOLOGY (ASEME)

Βρείτε περισσότερες πληροφορίες Στην διατριβή μου Σε δημοσιευμένα άρθρα σε AAIJ 06, EUMAS 07,

IAT 08, AIMSA 08, AIAI 09 (submitted extended version for JEIS), PRIMA 09

Στο http://users.isc.tuc.gr/~nispanoudakis Ή μέσω ηλ. ταχ/μείου στο [email protected]

12/5/2011 Ν. Σπανουδάκης 47

Ευχαριστώ για την προσοχή σας!!!

Page 48: THE AGENT SYSTEMS ENGINEERING METHODOLOGY (ASEME)

ASEME: Φάση Ανάλυσης ΣυστήματοςΠίνακας Λειτουργιών (στο SRM)

Capabilities Activities Functionalities

communicate

invoke OSGi service

send message

<decomposition> <uses>Legend:

get user coordinates

service user

machine learning

MIDP record technology

JADE FIPA AMSreceive message

learn user habits

request for services

present information to the user

learn user preference

search broker JADE FIPA DF

update user preferences

get user preferences

Human-Machine Interface (HMI)

get user order

handle dangerous situation

invoke heart rate service

determine user condition algorithm

12/5/2011 48Ν. Σπανουδάκης

Page 49: THE AGENT SYSTEMS ENGINEERING METHODOLOGY (ASEME)

An instance of the community

12/5/2011 Ν. Σπανουδάκης 49