Relatore: Ch.mo Prof. Edoardo Ardizzone
description
Transcript of Relatore: Ch.mo Prof. Edoardo Ardizzone
Analisi di sistemi ad agenti per la progettazione di metodologie: un approccio basato sul Workflow.
Relatore:
Ch.mo Prof. Edoardo Ardizzone
Correlatori:Ing. Massimo CossentinoIng. Valeria Seidita
Laureando:
Roberto Caico
Supportare il processo di progettazione di sistemi ad agenti con uno strumento basato su tecniche di workflow management, distribuito e collaborativo.
ObiettiviObiettivi
• Sfruttare i vantaggi della modellazione di metodologie come definizioni di processi di workflow:– Una metodologia viene assemblata mediante composizione di
suoi frammenti e gestita come un flusso informativo– Conseguenze:
• Modularità e Semplicità.• Utilizzo di elementi di sistemi già collaudati ed efficienti.
• Sfruttare i vantaggi dei sistemi ad agenti• Adattamento a sistemi distribuiti.• Negoziazione di servizi.
ObiettiviObiettivi
Il Workflow ManagementIl Workflow Management
• Cosa è il Workflow.
• Cosa sono i Workflow Management System (WfMS).
• Architettura di riferimento di un WfMS– Build Time & Run Time
Business Process Analysis,Modeling & Definition Tools
ProcessDefinition
Workflow Enactment Service
Application& IT Tools
Process changes
Process Design& Definition
Build Time
Run Time
Process Istanciation& Control
Interaction withUsers & Application Tools
Run-Time: Esecuzione processoRun-Time: Esecuzione processo
Build-Time: Rappresentazione Processo Build-Time: Rappresentazione Processo
Definizione processo (S.E.)
Definizione processo (WfM)
Il sistema propostoIl sistema propostoSPEM
XPDL
Svolgimento delle attività UML
Modeling Tool
Controller
Gestione del workflow XPDL
Amministratore
Utente
Stakeholder
BaseAction
Progetto del tool – Interazioni socialiProgetto del tool – Interazioni sociali
Package
Loggin_Request
accepted : Boolean
<<action>>
Loggout_Request
accepted : Boolean
<<action>>
Basic_Ty pe
String : StringRef erence : unspecif iedPerf ormer : unspecif iedInteger : unspecif iedFloat : f loatDate : DateBoolean : Boolean
<<concept>>
Resource
ID : Stringname : Stringdescription : Stringhow_many _work_item : intusername : Stringpassword : Stringgroupname : String
<<concept>>
11
11
1
1
1
1
State_of _the_list<<predicate>>
Select_activ ity<<predicate>>
Transition
ID : Stringname : Stringdescription : Stringcondition : Stringf rom : Stringto : String
<<concept>>
External_Package
Workf low_Package
name : StringID : Stringdescription : StringXPDL_v ersion : Stringcreation_date : Dateauthor : Stringresponsible : String
<<concept>>
0..n
1
0..n
1
Parameter_Ty pes<<concept>>
0..1 10..1 1
Participant
ID : Stringname : Stringdescription : Stringty pe : String
<<concept>>
1
1
1
1
Relev ant_Data
ID : Stringname : Stringdescrption : Stringdata_ty pe : Stringinitial_v alue : Stringserv ice_name : String
<<concept>>
Worklist
number_activ ity : int
<<concept>>
1
1
1
1
1
1
1
1
Is_Completed<<predicate>>
Workf low_Process
ID : Stringname : Stringdescription : Stringcreation_date : Datev ersion : Stringauthor : Stringpriority : intresponsible : String
<<concept>>
0..n
1
0..n
10..n
1
0..n
1
0..n
1
0..n
1
1..n
1
1..n
1
0..n
1
0..n
1
Formal_Parameters
id : Stringindex : Stringmode : String
<<concept>>
1
1
1
1
1 11 1
Activ ity
state : Stringname : StringID : Stringdescription : Stringpriority : intstart_mode : Stringf inish_mode : Stringactual_state : StringId_instantiate : String
<<concept>>
0..n
1
0..n
1
0..n
1
0..n
1
0..n
1
0..n
1
1..n
1
1..n
1
1
1
1
1
Application
ID : Stringname : Stringdecription : String
<<concept>>
0..n
1
0..n
1
1..n
1
1..n
1
0..n
1
0..n
1
FindTool<<action>>
1
1
1
1
Controller
StakeHolder
ConnectToWorkflowEngine
StartSharkServer()
(from Controller)
BaseAction
ServiceInteraction
AutomaticRequestService()RequestServiceInitiator()
(from StakeHolder)
ServiceSupportFinder
RequestCloneService()RequestServiceLocation()RequestServiceResponder()
(from BaseAction)
callActionAgent
WorklistManagement
interfacingWith_User()QueryRef()
(from StakeHolder)
loggoutCommunication
logginCommunication
AdminManagement
interfacingWith_Administrator()QueryRefListeningRequest()
(from Controller)
assignActivityCommunication
completeActivityCommunication
worklistCommunication
(service)
(service)
[ROLE CHANGE]
(resource)
(service)
Domain Ontology Communication Ontology Role DescriptionPackage
Loggin_Request
accepted : Boolean
<<action>>
Loggout_Request
accepted : Boolean
<<action>>
Basic_Ty pe
String : StringRef erence : unspecif iedPerf ormer : unspecif iedInteger : unspecif iedFloat : f loatDate : DateBoolean : Boolean
<<concept>>
Resource
ID : Stringname : Stringdescription : Stringhow_many _work_item : intusername : Stringpassword : Stringgroupname : String
<<concept>>
11
11
1
1
1
1
State_of _the_list<<predicate>>
Select_activ ity<<predicate>>
Transition
ID : Stringname : Stringdescription : Stringcondition : Stringf rom : Stringto : String
<<concept>>
External_Package
Workf low_Package
name : StringID : Stringdescription : StringXPDL_v ersion : Stringcreation_date : Dateauthor : Stringresponsible : String
<<concept>>
0..n
1
0..n
1
Parameter_Ty pes<<concept>>
0..1 10..1 1
Participant
ID : Stringname : Stringdescription : Stringty pe : String
<<concept>>
1
1
1
1
Relev ant_Data
ID : Stringname : Stringdescrption : Stringdata_ty pe : Stringinitial_v alue : Stringserv ice_name : String
<<concept>>
Worklist
number_activ ity : int
<<concept>>
1
1
1
1
1
1
1
1
Is_Completed<<predicate>>
Workf low_Process
ID : Stringname : Stringdescription : Stringcreation_date : Datev ersion : Stringauthor : Stringpriority : intresponsible : String
<<concept>>
0..n
1
0..n
10..n
1
0..n
1
0..n
1
0..n
1
1..n
1
1..n
1
0..n
1
0..n
1
Formal_Parameters
id : Stringindex : Stringmode : String
<<concept>>
1
1
1
1
1 11 1
Activ ity
state : Stringname : StringID : Stringdescription : Stringpriority : intstart_mode : Stringf inish_mode : Stringactual_state : StringId_instantiate : String
<<concept>>
0..n
1
0..n
1
0..n
1
0..n
1
0..n
1
0..n
1
1..n
1
1..n
1
1
1
1
1
Application
ID : Stringname : Stringdecription : String
<<concept>>
0..n
1
0..n
1
1..n
1
1..n
1
0..n
1
0..n
1
FindTool<<action>>
1
1
1
1
Controller
StakeHolder
ConnectToWorkflowEngine
StartSharkServer()
(from Controller)
BaseAction
ServiceInteraction
AutomaticRequestService()RequestServiceInitiator()
(from StakeHolder)
ServiceSupportFinder
RequestCloneService()RequestServiceLocation()RequestServiceResponder()
(from BaseAction)
callActionAgent
WorklistManagement
interfacingWith_User()QueryRef()
(from StakeHolder)
loggoutCommunication
logginCommunication
AdminManagement
interfacingWith_Administrator()QueryRefListeningRequest()
(from Controller)
assignActivityCommunication
completeActivityCommunication
worklistCommunication
(service)
(service)
[ROLE CHANGE]
(resource)
(service)
Modellazione di metodologieModellazione di metodologie• Linguaggio di modellazione “XPDL”
– Elementi principali:• Package• Process• Participant• Activity:
– Generic Activity– SubFlow ActivitySubFlow Activity– ……
• Transition• Application• Relevant Data
• Tool di modeling “JaWE”.
Domain Req.Description
Agent Society ModelMulti-Agent Sub-Model
System Requirements Model
Analysis Agent Sub-Model
Domain Ontology
Description
Roles Description
Communication Ontological Description
Requirements
Domain Req. Description
Agents Identification
Roles Identification
Tasks Specification
AgentStructure Exploration
Iteration Planning
Implementation Model
Behavior Description
Code Sub-Model
Single-Agent Sub-Model
Structure Definition
Structure Definition
Behavior Description
Deployment Configuration
Code Production
Agent Test
New Iteration
Society Test
Code Reuse
ConclusioniConclusioni• Sistema innovativo:
– Utilizzo del WfM nella progettazione dei sistemi– Fusione di workflow con agenti distribuiti.
• Metodologie modellate in XPDL:– PASSI 2.– PASSI AGILE.
• Sviluppi futuri.• Utilizzo semplice e non settorializzato.