Διαφάνεια 1

Download Report

Transcript Διαφάνεια 1

THE AGENT SYSTEMS
ENGINEERING
METHODOLOGY (ASEME)
Νικόλαος Σπανουδάκης
[email protected]
ΕΕΔΙΠ ΙΙ
Γενικό Τμήμα Πολυτεχνείου Κρήτης
Αθήνα, 18 Μαΐου, 2011
Περιεχόμενα παρουσίασης





Εισαγωγή
Παρουσίαση των μοντέλων της Γλώσσας
Μοντελοποίησης Πρακτόρων (Agent
MOdeling Language – AMOLA)
Παρουσίαση της Μεθοδολογίας Δημιουργίας
Πρακτοροστραφών Συστημάτων (Agent Syst.
Engineering Methodology – ASEME)
Δια και ενδο-πρακτορικός έλεγχος (inter and
intra-agent control)
Συμπεράσματα – Μελλοντικές επεκτάσεις
12/5/2011
Ν. Σπανουδάκης
2
Τοποθέτηση στον επιστημονικό χώρο

Η Τεχνολογία Λογισμικού (Software Engineering,
IEEE, 1990) :


Μια διαδικασία ανάπτυξης λογισμικού (software
process) απαντά στα ερωτήματα (Boehn, 1988):



Εφαρμόζει μια συστηματική, μεθοδική προσέγγιση στην
ανάπτυξη, λειτουργία και συντήρηση του λογισμικού
Τι θα κάνουμε μετά;
Για πόσο χρόνο θα συνεχίσουμε να το κάνουμε;
Μια μεθοδολογία ανάπτυξης λογισμικού (software
methodology) είναι ένα προδιαγεγραμμένο και
οργανωμένο σύνολο τεχνικών και κανόνων οι οποίοι
ορίζουν από ποιον και με ποια σειρά θα
χρησιμοποιηθούν οι τεχνικές (Tolvanen, 1998)
12/5/2011
Ν. Σπανουδάκης
3
Πρακτοροστραφής Μηχανική Λογισμικού
Agent Oriented Software Engineering (AOSE)

Από τον χώρο της κατανεμημένης τεχνητής
νοημοσύνης και των συστημάτων πολλαπλών
πρακτόρων (ΣΠΠ) – Multi-Agent Systems (MAS)
δημιουργήθηκε η ανάγκη για την ανάπτυξη λογισμικού το
οποίο θα είναι (Wooldridge and Jennings, 1995; Weiss,
2003):






12/5/2011
Αυτόνομο (autonomous)
Κοινωνικό (social)
Αντιδραστικό (reactive)
Ικανό να παίρνει πρωτοβουλίες (pro-active)
Προσαρμοστικό (adaptive)
Διαρκές (persistent)
Ν. Σπανουδάκης
4
Οι πιο γνωστές μεθοδολογίες 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
Γιατί χρειαζόμαστε μια νέα
Μεθοδολογία; Τι λείπει;







Μια σαφής διαδικασία μετατροπής των μοντέλων των
διαφορετικών φάσεων σε πρόγραμμα υπολογιστή
(Model-driven Engineering orientation)
Η απεικόνιση πολύπλοκων συστημάτων σε διαφορετικά
επίπεδα αφαίρεσης (abstraction)
Μια μέθοδος ενσωμάτωσης των πρωτοκόλλων
επικοινωνίας και των ικανοτήτων ενός πράκτορα
Η δυνατότητα μοντελοποίησης ΣΠΠ ανεξάρτητα από το
χρησιμοποιούμενο μοντέλο σκέψης (agent mental
model) χρησιμοποιώντας τις έννοιες της ικανότητας και
λειτουργίας (capability and functionality)
Βοήθεια στην αναγνώριση των πρακτόρων
Η προσέγγιση των μη-λειτουργικών απαιτήσεων
…
12/5/2011
Ν. Σπανουδάκης
6
Προεπισκόπηση της ASEME
12/5/2011
Ν. Σπανουδάκης
7
Μηχανική Οδηγούμενη από Μοντέλα
Model Driven Engineering (MDE)
MDE (Beydeda et al., 2005) είναι η συστηματική
χρήση μοντέλων ως πρωταρχικά εργαλεία
καθόλο τον κύκλο ζωής του έργου λογισμικού
στοχεύοντας σε φορητότητα, διαλειτουργικότητα
και επαναχρησιμότητα
 Βασίζεται σε μετασχηματισμούς μοντέλων
 και σε μεταμοντέλα
(Jouault and Bézivin, 2006)

12/5/2011
Ν. Σπανουδάκης
8
Μετασχηματισμοί Μοντέλων
Model Transformation

Μετασχηματισμός:



Είσοδος: το μοντέλο πηγής Ma
που είναι σύμφωνο με το
μεταμοντέλο MMa
Έξοδος: το μοντέλο στόχος Mb
που είναι σύμφωνο με το
μεταμοντέλο MMb
MMM
MMa
Τέσσερις τύποι
μετασχηματισμών (Langlois
et al., 2007):
Ma
 Μοντέλο σε μοντέλο (M2M)
 Μοντέλο σε κείμενο (M2T)
Legend
 Κείμενο σε μοντέλο (T2M)
 Κείμενο σε κείμενο (T2T)
conformsTo
12/5/2011
Ν. Σπανουδάκης
MMt
MMb
Tab
M2M
executes
Mb
transformation
9
Το μεταμεταμοντέλο ecore

Του Eclipse Modeling
Framework (EMF)
12/5/2011
Ν. Σπανουδάκης
10
Μοντέλα AMOLA: Ανάλυση Απαιτήσεων

Το Μοντέλο ΔραστώνΣτόχων (SAG)
βασίζεται στο actor
diagram της
μεθοδολογίας Tropos
Meetings
Manager
Learn
user
habits

Το μεταμοντέλο του
ορίζεται σύμφωνα με το
μεταμεταμοντέλο Ecore
(EMF)
Faculty
Personnel
Personal
Assistant
Request
new
meeting
12/5/2011
Manage
meetings
Ν. Σπανουδάκης
11
Μοντέλα AMOLA: Ανάλυση
Συστήματος

To Διάγραμμα Περίπτωσης
Χρήσης (SUC) βασισμένο
στα UML use cases

Και το
μεταμοντέλο του
System
Learn user
habits
Request new
meeting
Personal
Assistant
Meetings
Manager
12/5/2011
Faculty
Personnel
Manage
meetings
Ν. Σπανουδάκης
12
Μοντέλα AMOLA: Ανάλυση
Συστήματος (συνέχεια)

Το Μοντέλο Ρόλων
(SRM) βασίζεται στο
Gaia roles model

Role: Personal Assistant
Capabilities 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 habits
learn user habits = learn user preference.
update user preferences
…
12/5/2011
Ν. Σπανουδάκης
And its metamodel
definition
13
Όπου η γραμματική για τις φόρμουλες
ορίζεται με BNF:
→ { formula }
→ leftHandSide = expression
→ string
→ term
| parallelExpression
| orExpression
| sequentialExpression
parallelExpression
→ term || term || … || term
orExpression
→ term | term | … | term
sequentialExpression → term . term . … . term
term
→ basicTerm
| (expression)
| [expression]
| term*
| term+
ω
| term
ω number
| |term |
basicTerm
→ string
number
→ digit | digit number
digit
→1|2|3|…
string
→ letter | letter string
letter
→a|b|c|…
liveness
formula
leftHandSide
expression
12/5/2011
Ν. Σπανουδάκης

Η σημασία των
συμβολισμών
Operator
x.y
x|y
x*
x+
xω
[x]
x || y
|x ω|n
Interpretation
x followed by y
x or y occurs
x occurs 0 or more times
x occurs 1 or more times
x occurs infinitely often
x is optional
x and y interleaved
x occurs infinitely often n
times in parallel
14
AMOLA: Φάση Σχεδίασης
inter και intra-agent control

Τα μοντέλα δια (EAC) και ενδοπρακτορικού ελέγχου (IAC)
βασίζονται στο διάγραμμα
καταστάσεων
12/5/2011
Ν. Σπανουδάκης

Μεταμοντέλο:
15
Βασισμένο στον τυπικό ορισμό ενός
διαγράμματος καταστάσεων:
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.

Τέτοιοι
ορισμοί είναι
αναγκαίοι για
τον ορισμό
εργαλείων
CASE
(Computeraided
software
engineering)
δ ⊆ S × TE × S is the set of state transitions, where TE is a set of transitionExpression
elements.
12/5/2011
Ν. Σπανουδάκης
16
Μεθοδολογία ASEME


Ορίζεται σύμφωνα με το Μεταμοντέλο
Περιγραφής Διαδικασιών Ανάπτυξης
Λογισμικού SPEM (Software Process
Engineering Metamodel) της OMG
Συμβολισμοί:
12/5/2011
Ν. Σπανουδάκης
17
Οι Μετασχηματισμοί στην ASEME



Οι μετασχηματισμοί είναι πλήρως
αυτοματοποιημένοι
Το μοντέλο μιας προηγούμενης φάσης
μετασχηματίζεται σε ένα αρχικό μοντέλο της
επόμενης φάσης (initial model)
Ο μηχανικός επεξεργάζεται και ραφινάρει το
αρχικό μοντέλο δημιουργώντας την τελική
έκδοση (refined model)
12/5/2011
Ν. Σπανουδάκης
18
ASEME: Φάση Ανάλυσης Απαιτήσεων
Requirements Analysis
Requirements
document
Define actors
SAG
Define goals
RPG
Define requirements
for each goal
Business Consultant
Firm Representative
12/5/2011
Ν. Σπανουδάκης
19
Δημιουργία και Επεξεργασία του
Μοντέλου Δραστών-Στόχων (SAG)
Meetings
Manager
12/5/2011
Request
new
meeting
Ν. Σπανουδάκης
Learn
user
habits
Personal
Assistant
20
ASEME: Φάση Ανάλυσης Συστήματος
Analysis
SAG
Refine use
cases
SAG2SUC
Define agent
interaction
protocols
SUC
Define the Liveness
formulas
AIP
SUC2SRM
RPG
Define
Functionalities
SRM
FT
Analyst
12/5/2011
Ν. Σπανουδάκης
21
Ο μετασχηματισμός SAG 2 SUC
Meetings
Meetings
Manager
Manager
12/5/2011
Request
new
Request
meeting
new
meeting
Ν. Σπανουδάκης
Learn
Learn user
user habits
habits
Personal
Personal
Assistant
Assistant
22
Επεξεργασία του μοντέλου SUC
Learn user
habits
Meetings
Manager
<<include>>
Receive new
request
<<include>>
Send new
request
<<include>>
Send new
results
12/5/2011
Request new
meeting
<<include>>
Receive new
results
Ν. Σπανουδάκης
Personal
Assistant
<<include>>
Learn user
preference
<<include>>
Update user
preferences
23
Ο μετασχηματισμός SUC 2 SRM
Learn user
habits
Meetings
Manager
<<include>>
Receive new
request
<<include>>
Send new
request
<<include>>
Send new
results
12/5/2011
Request new
meeting
<<include>>
Receive new
results
Ν. Σπανουδάκης
Personal
Assistant
<<include>>
Learn user
preference
<<include>>
Update user
preferences
24
Ο μετασχηματισμός SUC 2 SRM
Role:
Capabilities and Protocols:
Learn
userhabits
Learn user
habits
Activities:
Personal<<include>>
Assistant
Request
newmeeting Personal
Request new
Assistant
meeting
Learn user
<<include>>
Learnpreference
user preference
Send new
<<include>>
Send request
new request
<<include>>
Receive new
Receive
new results
results
12/5/2011
Ν. Σπανουδάκης
Update user
Update
user preferences
preferences
25
Εκλέπτυνση SRM
Role: Personal Assistant
Capabilities and Protocols: Request new meeting
Negotiate meeting date
manage
meetings,Personal
learn user
habits, Meetings Manager
Participants
Assistant
Personal Assistant
Meetings Manager
negotiate meeting date, request change meeting, request new meeting
He has a meeting with
He needs to create or
Activities:
Rules for
He needs to create a
more than one
participate to a
meeting
participants that has no
getengaging
user request, read
schedule, show results,
meeting
date assigned to it
learn user preference, update user preferences,
He has
received
a
He has scheduled
He
has arranged a
send
change
request,
receive
change
results,
send
new
request,
receive
new
results,
Outcomes
confirmation of the
participation to a
meeting that met all
receive proposed date,
decide
response, send results, receive
outcome, update
meeting
creation
meeting
theschedule
participants needs
Liveness:
negotiate meeting date negotiate meeting date
new meeting
= receive proposed
= (decide on date.
personal assistant request
= ? new meeting request
= receive new
Process
= send new request.
date. (decide
send proposed date.
request.
send new ? request change meeting ? request new
manage meetings receive
= get user
request
?
read
schedule
new results
response. send results. receive results)+. send
results
meeting? show results
receive outcome)+
fixed date.
learn user habits = learn user preference ? update user preferences
request new meeting = send new request. receive new results
request change meeting = send change request. receive change results
negotiate meeting date = receive proposed date. (decide response. send results. receive outcome)+
? update schedule
12/5/2011
Ν. Σπανουδάκης
26
Εκλέπτυνση SRM
Role: Personal Assistant
Capabilities and Protocols:
manage meetings, learn user habits,
negotiate meeting date, request change meeting, request new meeting
Activities:
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 schedule
Liveness:
personal assistant = (manage meetings. learn user habits)ω || (negotiate meeting date)ω
manage meetings = get user request. (read schedule | request change meeting | request new
meeting). show results
learn user habits = learn user preference. update user preferences
request new meeting = send new request. receive new results
request change meeting = send change request. receive change results
negotiate meeting date = receive proposed date. (decide response. send results. receive
outcome)+. update schedule
12/5/2011
Ν. Σπανουδάκης
27
ASEME: Φάση Σχεδίασης
Define inter-agent control model
Design
AIP
EAC
Gaia operators
transformation templates
RPG
Define inter-agent
control model
SRM
FT
Define intra-agent
control model
Define
components
AIP2EAC
Define messages
performatives
AIP
RPG
Define
ontology
Available
message types
Designer
Define transition
expressions
Ontology
Define intra-agent control model
Available
Message Types
Designer
EAC
Ontology
IAC
Declarative or
procedural
knowledge
SRM
Gaia operators
transformation templates
SRM2IAC
EAC
RPG
Import transition
expressions from the interagent control model
Define transition
expressions
Designer
IAC
12/5/2011
Ν. Σπανουδάκης
Ontology
28
Μετασχηματισμός SRM 2 IAC
Liveness:
personal assistant = (manage meetings. learn user habits)ω || (negotiate meeting date)ω
learn user habits = learn user preference. update user preferences
negotiate meeting date
x
manage meetings
x || y
y
L
OR
xω
xω
Sx
Sx
L.1
START
L.2
...
x
L.2
OR
x.y
x . y L.2.1
START
learn user habits
learn user
preference
12/5/2011
update user
preferences
Ν. Σπανουδάκης
Sx
Sx
L.2.2
...
x
L.2.3
...
Sy y
L.2.4
END
Sy
29
Μετασχηματισμός IAC 2 JADE
For 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 if
End for
12/5/2011
Ν. Σπανουδάκης
30
Δια και ενδο-πρακτορικός έλεγχος



Ο δια-πρακτορικός έλεγχος (EAC) είναι ένα διάγραμμα
καταστάσεων το οποίο ορίζει την παράλληλη
συμπεριφορά δύο ή περισσοτέρων πρακτόρων
Ο ενδο-πρακτορικός έλεγχος (IAC) συντονίζει τις
αλληλεπιδράσεις μεταξύ των ικανοτήτων ενός πράκτορα
Κάθε ρόλος σε ένα μοντέλο EAC μπορεί να
ενσωματωθεί σε ένα IAC και μπορεί να εκλεπτυνθεί:



Μετατρέποντας μια κατάσταση σε πολύπλοκη κατάσταση
(superstate) με υπο-καταστάσεις (substates)
Προσθέτοντας καταστάσεις των οποίων οι μεταβάσεις δεν έχουν
συνθήκες αμέσως μετά το START state (αρχικοποίηση) ή πριν το
END (αποθήκευση αποτελέσματος)
Το IAC επιτρέπει την παράλληλη εκτέλεση πολλών διαπρακτορικών πρωτοκόλλων
12/5/2011
Ν. Σπανουδάκης
31
Ενσωματώνοντας ένα μοντέλο EAC σε
ένα μοντέλο IAC
personal assistant
manage meetings
get user
request
request new
meeting
request change
meeting
c
send
change
request
send new
request
receive new
results
negotiate meeting date
show
results
read
schedule
receive
change
results
learn user habits
learn user
preference
12/5/2011
update user
preferences
Ν. Σπανουδάκης
32
Υπο-διάλογοι (sub-dialogs)
personal assistant
manage meetings
get user
request
show
results
request new
meeting
request change
meeting
c
send
change
request
send new
request
receive new
results
read
schedule
receive
change
results
negotiate meeting date
receive
proposed
date
decide
response
provide
schedule
information
receive
schedule
request
read
schedule
send
results
send
schedule
receive
outcome
learn user habits
learn user
preference
12/5/2011
update user
preferences
update
schedule
Ν. Σπανουδάκης
33
Ενσωματωμένοι διάλογοι
(embedded dialogs)
broker
Request for Services
request for services SPω
service requester (sr)
service provider (sp)
… 10 times
request for services SP
request ≠∅
send
request
message
Request(sr,sp,request)
/t1 = 10000
receive
response
message
Inform(sp,sr,results) ∨
Refuse(sp,sr,results) ∨
Failure(sp,sr,results) ∨
timeout(t1) = True
12/5/2011
receive
request
message
receive
request
c
message
send
response
message
Request(sr,sp,request)
/t2 = 10000
process request
process
request invoke data
c
management
service
c
match
send
results ≠∅
c
response
message
request for services SR
timeout(t2) = True
Inform(sp,sr,results) ∨
receive
send
Refuse(sp,sr,results) ∨
message
message
Failure(sp,sr,results)
Ν. Σπανουδάκης
34
Μετασχηματισμός IAC σε μοντέλο
διαδικασίας (process model)


Εμπειροτεχνική μέθοδος για τον μετασχ/σμό
ενός IAC σε μοντέλο διαδικασίας
Βοηθάει στην επαλήθευση, προσομοίωση και
βελτιστοποίηση (ASK-IT project)
12/5/2011
Ν. Σπανουδάκης
35
Εμπειρικά αποτελέσματα εφαρμογής
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
Δουλεύοντας το μοντέλο SAG
12/5/2011
Ν. Σπανουδάκης
37
Μετασχηματισμός M2M
12/5/2011
Ν. Σπανουδάκης
38
Μετασχηματισμός M2M (συνέχεια)
12/5/2011
Ν. Σπανουδάκης
39
Το πλάνο του μετασχηματισμού
Ecore.ecore
SAG.ecore
ATL
SUC.ecore
SAG2SUC.atl
SAGModel.xmi
M2M
SUCModelInitial.xmi
XMI: XML Metadata Interchange
12/5/2011
Ν. Σπανουδάκης
40
Μετασχηματισμός T2M
12/5/2011
Ν. Σπανουδάκης
41
Μετασχηματισμός M2T
12/5/2011
Ν. Σπανουδάκης
42
Μετασχηματισμός M2T - JADE
12/5/2011
Ν. Σπανουδάκης
43
Μετασχηματισμός M2T–Market miner
12/5/2011
Ν. Σπανουδάκης
44
Συμπεράσματα

Η ASEME (μαζί με την AMOLA) είναι μια
οδηγούμενη από μοντέλα μεθοδολογία
ανάπτυξης συστημάτων πρακτόρων η οποία:



Ξεκινάει από την ανάλυση απαιτήσεων και φτάνει
στην δημιουργία του κώδικα
Ενσωματώνει τους ρόλους των πρακτόρων σε
διάφορα πρωτόκολλα στις ικανότητες ενός πράκτορα
χρησιμοποιώντας ένα κοινό φορμαλισμό (statechart)
Έχει επαληθευτεί εμπειρικά με δύο εφαρμογές
σε πραγματικά συστήματα και μία σαν
παράδειγμα για την αντιπαράθεσή της με άλλες
αντίστοιχες μεθοδολογίες
12/5/2011
Ν. Σπανουδάκης
45
Μελλοντικές Επεκτάσεις







Δημιουργία καλύτερων γραφικών εργαλείων στο eclipse για την υποστήριξη των
φάσεων ανάπτυξης
Βελτίωση του αυτόματα δημιουργούμενου κώδικα για το JADE, ενσωμάτωση
περισσότερης πληροφορίας από τις εκφράσεις μετάβασης, ενσωμάτωση σε
περιβάλλον OSGi
Αυτοματοποίηση του μετασχηματισμού του IAC σε process model
(επιλογή ανάμεσα από XPDL, BPMN, ??)
Ανάλυση απόδοσης σε μεγάλης κλίμακας συστήματα
Συστηματική συλλογή και επεξεργασία εμπειρικών αποτελεσμάτων
χρήσης της ASEME και σύγκριση με άλλες μεθοδολογίες ίσως στα
πλαίσια κάποιου μεταπτυχιακού μαθήματος
Δυνατότητα του πράκτορα να εκμεταλλευτεί την πληροφορία της
λειτουργίας του IAC στο run-time (σύγχρονος χώρος έρευνας:
models@runtime) για να εμφανίσει ικανότητα αυτό-ελέγχου (selfassessment) και αυτο-επισκευής (self-healing) (σύγχρονος χώρος
έρευνας: autonomic systems)
Εξελικτικές Μέθοδοι στα statecharts για προσαρμοστικότητα
(σύγχρονος χώρος έρευνας: adaptive systems)
12/5/2011
Ν. Σπανουδάκης
46
Βρείτε περισσότερες πληροφορίες




Στην διατριβή μου
Σε δημοσιευμένα άρθρα σε 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
ASEME: Φάση Ανάλυσης Συστήματος
Πίνακας Λειτουργιών (στο SRM)
Capabilities
handle dangerous
situation
Activities
determine user
condition
Functionalities
algorithm
invoke heart rate
service
invoke OSGi service
get user coordinates
service user
present information
to the user
get user order
get user preferences
learn user habits
request for services
update user
preferences
Human-Machine
Interface (HMI)
MIDP record
technology
learn user preference
machine learning
search broker
JADE FIPA DF
send message
communicate
Legend:
12/5/2011
receive message
<decomposition>
JADE FIPA AMS
<uses>
Ν. Σπανουδάκης
48
An instance of the community
12/5/2011
Ν. Σπανουδάκης
49