DA A AD A (From Agents to Artifacts Back and Forth) Towards a Cognitive use of Artifacts in MAS
|
|
- Emery Tracy Bryan
- 5 years ago
- Views:
Transcription
1 EMSE - séminaires G2I DA A AD A () Towards a Cognitive use of Artifacts in MAS Michele Piunti alice group at DEIS, Università di Bologna, Cesena Istituto Scienze e Tecnologie della Cognizione ISTC-CNR, Roma michele.piunti@unibo.it with: - Alessandro Ricci, Researcher at DEIS - Mirko Viroli, Andrea Omicini 1
2 OUTLINE Environment Programming in (Programming) MAS - the road to artifacts and CARTAGO A&A model and CARTAGO platform - programming model and technology - integration with existing cognitive agent platforms Agents and Artifacts in the Loop of Cognitive Interactions - Doxastic Use - Operational Use - Goal-Directed Use 2
3 PART I ENVIRONMENT PROGRAMMING IN (PROGRAMMING) MAS - The ROAD to CARTAGO - 3
4 THE ROLE OF ENVIRONMENT IN MAS Traditional (D)AI / agent / MAS view - the target of agent actions and source of agents perception - something out of MAS design / engineering percepts AGENT(s) actions New perspective in recent works - environment as first-class aspect in engineering MAS ENVIRONMENT mediating interaction among agents encapsulating functionalities and services for enabling/ managing such interactions - coordination, organisation, security,... 4
5 FROM MAS TO MAS PROGRAMMING Specific perspective on MAS programming - agents (and MAS) as a paradigm to design and program software systems computer programming perspective - computational models, languages,... software engineering perspective - architectures, methodologies, specification, verification,... Underlying objective in the long term - using agent-orientation as general-purpose post-oo paradigm for computer programming concurrent / multi-core / distributed programming in particular 5
6 THE ROLE OF SW ENVIRONMENT IN MAS PROGRAMMING (SO FAR) MAS MAS ENVIRONMENT actions SIMULATED WORLD mimicking REAL WORLD (PHYSICAL OR COMPUTATIONAL) OR INTERFACE OR EXTERNAL WORLD (PHYSICAL OR COMPUTATIONAL) AGENTS percepts WRAPPER TO EXISTING TECHNOLOGY Example: JAVA PLATFORM 6
7 ENVIRONMENT MODELS IN MAS Environment as monolithic / centralised block - defining agent (external) actions typically a static list of actions, shared by all the agents - generator of percepts establishing which percepts for which agents Typically enough for toy problems, but... No specific (programming) model for defining structure and behaviour - including concurrency management - relying on lower-level language features and mechanisms (i.e. Java) No support for interoperability across platforms 7
8 AGENTS AND PERCEPTION Perception mechanisms in agents are often built upon the environment model - inheriting its weakness... Models are often domain dependent Based on the mechanisms inherited from OO (Java) Great attention for message exchange and ACL - Sophisticated infrastructure for message passing, but... - Protocols, Ontologies, Computational load on Agents In general, for other kinds of percepts: - Information flow is shaped based on the format provided by the adopted environment - No clear distinction, at a reasoning level, between practical and perceptive activities 8
9 ENVIRONMENT IN MAS PROGRAMMING? MAS actions PERCEPTION IN AUTONOMOUS AGENTS?? percepts? AGENTS 9
10 JASON EXAMPLE - GOLD-MINER DEMO - public class MiningPlanet extends jason.environment.environment {... public void init(string[] args) {... public boolean executeaction(string ag, Structure action) { boolean result = false; int agid = getagidbasedonname(ag); if (action.equals(up)) { result = model.move(move.up, agid); else if (action.equals(down)) { result = model.move(move.down, agid); else if (action.equals(right)) {... return result; private void updateagpercept(string agname, int ag) {clearpercepts(agname); // its location Location l = model.getagpos(ag); addpercept(agname, Literal.parseLiteral("pos(" + l.x + "," + l.y + ")")); if (model.iscarryinggold(ag)) { addpercept(agname, Literal.parseLiteral("carrying_gold")); // what's around updateagpercept(agname, l.x - 1, l.y - 1); updateagpercept(agname, l.x - 1, l.y);... 10
11 ENRICHING THE VIEW: WORK ENVIRONMENTS Perspective: designing worlds in agent systems for agents use - designing good and effective place for agents to live and work in environment as the context of agent activities inside the MAS - beyond simulated worlds Work environment notion - that part of the MAS that is designed and programmed so as to ease agent activities and work first-class entity of the agent world cooperation, coordination, organisation, security... facilities and functionalities as pivotal element of MAS design and programming - abstractions? computational models? languages? platforms? methodologies? 11
12 BACKGROUND LITERATURE In human sciences - Activity Theory, Distributed Cognition importance of the environment, mediation, interaction for human activity development - Active Externalism / extended mind (Clark, Chalmer) environment s obejcts role in aiding cognitive processes CSCW and HCI - importance of artifacts and tools for coordination and collaboration in human work Distributed Artificial Intelligence - Agre & Horswil work ("Lifeworld"...) - Kirsch ("The Intelligent Use of Space"...)
13 A HUMAN WORK ENVIRONMENT (~BAKERY) 13
14 ARTIFACTS ARE IN THE AGENT MAINSTREAM...not really, actually... an artifact agent agent artifacts agent 14
15 AGENTS & ARTIFACTS (A&A) MODEL: BASIC IDEA IN A PICTURE CLOCK artifact WHITEBOARD artifact BAKERY workspace agents can join dynamically the workspace ARCHIVE artifact COM. CHANNEL artifact RESOURCE artifact TASK SCHEDULER artifact 15
16 DESIDERATA FOR A WORK. ENV. PROGRAMMING MODEL (1/2) Abstraction - keeping the agent abstraction level concepts like Action, Perception, Observation i.e., no agents sharing and calling OO objects - effective programming models for controllable and observable computational entities Orthogonality - wrt agent models, architectures, platforms - support for heterogeneous systems MAS AGENTS actions percepts? 16
17 DESIDERATA FOR A WORK ENV. PROGRAMMING MODEL (2/2) (Dynamic) extendibility - dynamic construction, replacement, extension of environment parts - support for open systems MAS actions Modularity - away from the monolithic and centralised view? Reusability - reuse of environment parts in different application contexts / domains AGENTS percepts 17
18 PART II A&A MODEL and CARTAGO PROGRAMMING MODEL & PLATFORM 18
19 A&A BASIC CONCEPTS Agents - autonomous, goal-oriented, social, pro-active entities - create and co-use artifacts for supporting their activities besides direct communication Artifacts - non-autonomous, authomatic, function-oriented entities controllable and observable - modelling the tools and resources used by agents designed by MAS programmers Workspaces - logically grouping agents & artifacts - defining the topology of the computational environment 19
20 WORK ENVIRONMENT IN A&A MAS actions? AGENTS percepts 20
21 WORK ENVIRONMENT IN A&A Artifacts as building bricks to structure the (work) environment Workspaces as topological structure of the w.e. MAS wsp Abstraction - encapsulation - information hiding Modularization - extendibility - reuse AGENTS wsp 21
22 WORK ENVIRONMENT IN A&A Artifacts as Interfaces and Facades to external world(s) MAS printer EXTERNAL WORLD (PHYSICAL OR COMPUTATIONAL) wsp gui AGENTS wsp HUMAN USERS 22
23 WORK ENVIRONMENT IN A&A MAS blackboard Interaction from A to A based on not ambigous notions of: wsp Action, Perception, Observation AGENTS wsp 23
24 WORK ENVIRONMENT IN A&A Agents Externalising Activities and Resources MAS personal agenda (ext. memory) wsp GUI AGENTS wsp 24
25 ARTIFACT COMPUTATIONAL MODEL Artifacts as controllable and observable devices - operation execution as a controllable process possibly long-term, articulated - two observable levels observable properties, signalled events - transparent management of concurrency issues synchronisation, mutual-exclusion, etc Composability through link interfaces - also across workspaces Cognitive use of artifacts through the manual - function description, operating instructions - work in progress 25
26 ARTIFACT COMPUTATIONAL MODEL - COFFEE MACHINE METAPHOR - OBSERVABLE EVENTS GENERATION <EvName,Params> ObsPropName Value OBSERVABLE PROPERTIES ObsPropName Value USAGE INTERFACE OpControlName(Params) OpControlName(Params)... OPERATION X OPERATION Y ARTIFACT MANUAL LINK INTERFACE 26
27 INTERACTION MODEL: USE ObsPropName ObsPropName Value Value use myopcontrol(x) myopcontrol(x) AGENT use action - acting on op. controls to trigger op execution - synchronisation point with artifact time/state 27
28 INTERACTION MODEL: USE ObsPropName ObsPropName... Value Value... myopcontrol(x) AGENT OPERATION EXECUTION artifact operation execution - asynchronous and not coupled wrt agent executions - possibly a process, structured in multiple atomic steps 28
29 INTERACTION MODEL: USE EVENTS ObsPropName Value OBS PROPERTIES CHANGE myopcontrol(x) AGENT observable effects - observable events & changes in obs property - perceived by agents either as (external) events 29
30 INTERACTION MODEL: OBSERVATION PName Value observe property (+PName,?Value) myopcontrol(x) AGENT observeproperty (intentional) action - value of an obs. property as action feedback - weak interaction 30
31 INTERACTION MODEL: OBSERVATION ObsPropName(Value). ObsPropName(Value).... ObsPropName Value Belief base (or alike) focus ObsPropName Value myopcontrol(x) AGENT focus / stopfocus action - start / stop a continuous observation of an artifact possibly specifying filters - observable properties mapped into percepts (or Belief base) 31
32 INTERACTION MODEL: OBSERVATION ObsPropName(Value). ObsPropName(Value).... Belief base (or alike) ObsPropName ObsPropName Value Value myopcontrol(x) USE AGENT continuous observation - observable events (=> agent events) - observable properties ( => belief base update) 32
33 EXAMPLES OF ARTIFACTS Common tools and resources in MAS blackboards, tuple centres, synchronisers,... maps, calendars, shared agenda,... data-base, shared knowledge base,... hardware res. wrappers GUI artifacts... - principled way to design / program / use them inside MAS Specific & articulated purposes - example: logic-based spreadsheet artifact 33
34 LOGIC-BASED SPREADSHEET ARTIFACT SKETCH A1 p(1). p(2). B1 q(1). q(3). A2 r(x):-p(x),q(x). B2 result of?- q(5). A3 result of?- r(1). B setcelltheory(cellid: String, t: Theory) setcellcontext(cellid: String, context: List<CellId> context) setcellgoal(cellid: String, g: GoalFormula) 34
35 CARTAGO CARTAGO platform / infrastructure - runtime environment for executing (possibly distributed) artifact-based environments - Java-based programming model for defining artifacts - set of basic AGENT-API to work wihin artifact-based environment integration with agent programming platforms Distributed and open MAS - workspaces distributed on Internet nodes agents can join and work in multiple workspace at a time - Role-Based Access Control (RBAC) security model Open-source technology - available at 35
36 ...AND FRIENDS Integration with existing agent platforms - cognitive agent platforms in particular ongoing cooperation with Jomi, Rafael, Alexander, Lars, Mehdi - available bridges: Jason, Jadex, simpa ongoing: 2APL, Jade - agent body notion for technically realising the integration effectors and sensors to act upon and sense artifacts controlled by an agent mind executed on some agent platform Outcome - developing open and heterogenous MAS - different perspective on interoperability sharing and working in a common work environment common data-model based on Object-Oriented or XML-based data structures 36
37 CARTAGO ARCHITECTURE Application Agents Artifact-based working environments MAS Application shared workflow engine task scheduler workspaces shared shared kb KB blackboard map Application Specific Logic Execution Platform Agent Framworks / Middlewares JASON JASON 3APL JADEX JADE... agent bodies workspaces artifacts CARTAGO MAS Middleware Layer Any OS JVM JVM OS 37
38 DEFINING ARTIFACTS IN CARTAGO Single class extending alice.cartago.artifact Specifying the operations - methods name+params -> usage interface control no return value - structured linear composition of atomic operation steps composed dynamically - init operation automatically executed when the artifact is created Specifying artifact state - instance fields of the class 38
39 SIMPLE EXAMPLE #1 inc USAGE INTERFACE: inc: [ op_exec_completed ] public class Count extends Artifact { int void init(){ count = void inc(){ count++; 39
40 OBSERVABLE EVENTS generated, within artifact operations, by the signal primitive AGENT EVENTS ObsPropName Value myopcontrol(x) OBS PROPERTIES CHANGE represented as labelled tuples - event_name(arg0,arg1,...) Automatically made observable to... - the agent who executed the operation - all the agents observing the artifact 40
41 SIMPLE EXAMPLE #2 inc USAGE INTERFACE: inc: [ new_count_value, op_exec_completed ] public class Count extends Artifact { int void init(){ count = void inc(){ count++; signal("new_count_value", count); 41
42 OBSERVABLE PROPERTIES declared by defineobsproperty primitive - characterized by a property name and a property value ObsPropName(Value). ObsPropName(Value).... Belief base (or alike) AGENT ObsPropName Value ObsPropName Value myopcontrol(x) USE internal primitives to read / update property value - updateobsproperty - getobsproperty Automatically made observable to all the agents observing the artifact 42
43 SIMPLE EXAMPLE #3 count 5 inc OBSERVABLE PROPERTIES: count: int USAGE INTERFACE: inc: [ op_exec_completed ] public class Count extends Artifact void init(){ defineobsproperty("count", void inc(){ int count = getobsproperty("count"); updateobsproperty("count", count + 1); 43
44 MORE ON ARTIFACTS Structured operations - specifying operations composed by chains of atomic operation steps - to support the concurrent execution of multiple operations on the same artifact by interleaving steps Linkability - dynamically composing / linking multiple artifacts together Artifact manual - machine-readable description of artifact functionality and operating instructions 44
45 STRUCTURED OPERATIONS Complex operations as chains of guarded atomic operation step execution methods Guards UI CONTROL TO TRIGGER OP EXECUTION G G once enabled, the operation step is executed as soon as the OP STEP OP STEP OP STEP USAGE INTERFACE GUARDS - boolean expression over the artifact state guard is evaluated to true > Multiple structured operations can be executed concurrently on the same STRUCTURED artifact OPERATIONby interleaving... their steps - with only one step executed at a time 45
46 EXAMPLE public class MyArtifact extends Artifact { Data valuea, void requestvalue(){ valuea = valueb = null; requestvalue notifyvalues nextstep("notifyvalues"); void notifyvalues(){ signal( values,valuea,valueb); insertvaluea boolean valuesavailable(){ return valuea!=null && valueb!=null; requestvalue structured operation void insertvalueb insertvaluea(data v){ valuea = void insertvalueb(data v){ valueb = v; G: valuesavailable insertvaluea atomic op insertvalueb atomic op MyArtifact ARTIFACT 46
47 INTEGRATION TECHNOLOGIES Agents and Artifact (A&A) Interactions are defined at a language level, through he definition of (special purpose) internal actions Actions realize step by step the workflow of activities required to achieve a given task CARTAGO has integration technologies to enable of several agent platforms to play in artifact based environments Heterogeneous & remote agents c4jason, c4jadex c4simpa, etc. 47
48 OPEN WORKSPACES & DISTRIBUTION Agents can dynamically join and quit workspaces - in Jason CARTAGO is enabled by: alice.c4jason.cenv environment class RBAC model for ruling agent access & use of artifacts - security-registry artifact to keep track of roles and role policies making roles & policies observable and modifiable by agents themselves Distribution - agents can join and work concurrently in multiple workspaces at a time - workspaces can belong to different CARTAGO nodes 48
49 AGENT ABSTRACT API Extending agents repertoire with a basic set of actions enabling playing within artifact-based environment workspace management joinwsp(name,?wspid,+node,+role,+cred) quitwsp(wid) artifact use use(aid,opcntrname(params),+sensor,+timeout,+filter) sense(sensor,?perception,+filter,+timeout) grab([aid]) release([aid]) artifact observation artifact instantiation, discovery, management observeproperty(aid,pname,?pvalue) focus(aid,+sensor,+filter) stopfocus(aid) makeartifact(name,template,+artifactconfig,?aid) lookupartifact(name,?aid) disposeartifact(aid) 49
50 RAW AGENT API joinwsp use sense focus stopfocus grab release + basic set of default artifacts available in each workspace - factory - registry - security-registry - console implementing non primitive actions: makeartifact => use factory lookupartifact => use registry... 50
51 CARTAGO API TASTE EX1: SIMPLE USE A shared counter MAS mas0a { inc USAGE INTERFACE: inc: [ new_count_value, op_exec_completed ] environment: alice.c4jason.cenvstandalone agents: user0a agentarchclass alice.c4jason.cagentarch; package test; import alice.cartago.*; public class Counter0 extends Artifact { int void init(){ count = void inc(){ count++; signal("new_count_value",count); // user0a!create_and_use. +!create_and_use : true <- cartago.makeartifact("mycount","test.counter0",c); // first use cartago.use(c,inc); // second use cartago.use(c,inc,s0); cartago.sense(s0,new_count_value(v)); // log the value cartago.use(console,println("[user] value ",V)). 51
52 CARTAGO API TASTE EX2: SIMPLE USE A shared counter MAS mas0b { inc USAGE INTERFACE: inc: [ new_count_value, op_exec_completed ] environment: alice.c4jason.cenvstandalone agents: user0b agentarchclass alice.c4jason.cagentarch; package test; import alice.cartago.*; public class Counter0 extends Artifact { int void init(){ count = 0; // user0b!create_and_use. +!create_and_use : true <- cartago.makeartifact("mycount","test.counter0",c); // first use cartago.use(c,inc); // second use void inc(){ count++; signal("new_count_value",count); +artifact_event(c,new_count_value(v)) : true <- cartago.use(console,println("[user] value ",V)). 52
53 CARTAGO API TASTE EX3: USE & OBSERVATION Counter with obs prop count 5 inc OBSERVABLE PROPERTIES: count: int USAGE INTERFACE: inc: [ op_exec_completed ] MAS mas1 { environment: alice.c4jason.cenvstandalone agents: observer agentarchclass alice.c4jason.cagentarch; user agentarchclass alice.c4jason.cagentarch #2; // user!use_count. package test; public class Counter1 extends Artifact void init(){ defineobsproperty("count",0); // void inc(){ int count = getobsproperty("count").intvalue(); updateobsproperty("count",count+1); +!observe : true <- cartago.makeartifact("my_counter","test.counter1", Count); cartago.focus(count). +count(v) : true <- cartago.use(console,println("current count observed: ",V)). +!use_count : true <-?counter_to_use(counter) ; +cycle(0) ;!use_count(counter). +?counter_to_use(counter) : true <- cartago.lookupartifact("my_counter",counter). -?counter_to_use(counter) : true <-.wait(100);?counter_to_use(counter). +!use_count(c) : cycle(n) & N < 10 <- -cycle(n); cartago.use(c,inc,mysensor0); cartago.sense(mysensor0,"operation_completed");!have_a_rest ; +cycle(n+1) ;!use_count(c). +!use_count(c) : cycle(10). +!have_a_rest : true <-.wait(10). 53
54 CARTAGO API TASTE EX4: USING OP CONTROLS WITH GUARDS bounded-buffer artifact for open producers-consumers scenarios n_items 0 max_items 100 put get public class BBuffer extends Artifact { private LinkedList<Item> void init(int nmax){ items = new LinkedList<Item>(); defineobsproperty("maxnitems",nmax); defineobsproperty("nitems",0); OBSERVABLE PROPERTIES: n_items: int+ max_items: int Invariants: n_items <= max_items USAGE INTERFACE: put(item:item) / (n_items < max_items): [ op_exec_completed ] get / (n_items >= 0) : [ new_item(item:item), op_exec_completed void put(item obj){ items.add(obj); boolean buffernotfull(item obj){ int maxitems = getobsproperty("maxnitems").intvalue(); return items.size() < void get(){ Item item = items.removefirst(); updateobsproperty("nitems",items.size()-1); boolean itemavailable(){ return items.size() > 0; 54
55 CARTAGO API TASTE PRODUCERS & CONSUMERS IN JASON PRODUCERS!produce. +!produce: true <-!setuptools(buffer);!produceitems. +!produceitems : true <-?nextitemtoproduce(item); cartago.use(mybuffer,put(item),5000);!produceitems. +?nextitemtoproduce(item) : true <-... +!setuptools(buffer) : true <- cartago.makeartifact("mybuffer", "test.bbuffer",[10],buffer). -!setuptools(buffer) : true <- cartago.lookupartifact("mybuffer",buffer). CONSUMERS!consume. +!consume: true <-?buffertouse(buffer);.print("going to use ",Buffer);!consumeItems. +!consumeitems : true <- cartago.use(mybuffer,get,s0,5000); cartago.sense(s0,new_item(item),5000);!consumeitem(item);!consumeitems. +!consumeitem(item) : true <-... +?buffertouse(bufferid) : true <- cartago.lookupartifact("mybuffer",bufferid). -?buffertouse(bufferid) : true <-.wait(50);?buffertouse(bufferid). 55
56 CARTAGO API TASTE EX5: ARTIFACT WITH STRUCTURED OPERATIONS simple synchronization artifact (~barrier) n_participants 13 all_ready false class SimpleSynchronizer extends Artifact { int void init(int nparticipants){ defineobsproperty("all_ready",false); defineobsproperty("n_participants",0); nready = 0; this.nparticipants = nparticipants; ready OBSERVABLE PROPERTIES: n_participants: N > 0 all_ready: {true,false USAGE INTERFACE: ready / true : [ accepted(n), op_exec_completed void ready(){ nready++; signal( accepted,nready); void setallready(){ boolean allready(){ return nready == getobsproperty("n_participants").intvalue(); 56
57 CARTAGO API TASTE SYNCH USER (ACTIVE/REACTIVE) SYNCH USER - WITH SENSOR!work. +!work: true <-... // locate the synch tool cartago.lookupartifact( mysynch,synch); // ready for synch cartago.use(synch,ready,sid); // waiting all synchs cartago.sense(sid,op_exec_completed(ready); // all ready, go on.... SYNCH USER - REACTIVE!work. +!work: true <-... // locate the synch tool cartago.lookupartifact( mysynch,synch); // ready for synch cartago.use(synch,ready). // observe it. cartago.focus(synch). // react to all_ready(true) percept +artifact_event(mysynch,all_ready) : true <- // all ready, go on
58 PART III AGENTS AND ARTIFACTS IN THE LOOP OF COGNITIVE INTERACTIONS 58
59 Conceiving A&A Systems Artifacts provide serviceable operations, preprocessed information and coordination facilities conceived by the MAS designer for easing agents tasks What s for agent architectures and systems When Agents are reasoning? /w mental states (Beliefs, Goals, Intentions)? Fuctional Approach to A&A design From an agent viewpoint, artifacts embeds: - - Informationtional (Doxastic) Function Operational (Purposive) Function 59
60 A&A Ecosystems An ecosystem is a natural unit consisting of all plants, animals and micro-organisms (biotic factors) in an area functioning together with all of the non-living physical (abiotic) factors of the environment. [Christopherson, RW (1996)] Individual Knowledge Tools ECOSYSTEM Agent Artifact Information Agent If you are a MAS developper... Operations 1. Agents as intentional systems [Dennett] Artifact A&A ECOSYSTEM 2. Artifact are supposed to be (not only) external component (but also) funcional resources of the MAS 60
61 Purposive Function Operations are Artifacts intended purposes - Intented is in the mind of Artifact Designers before beeing in agents intentions From an agent viewpoint, Artifacts are nonautonomous but automatic devices providing functionalities Exploitable as self contained operations: - Improving repertoire of actions, as additional means to achieve Goals - Externalise and distribute part of agent activities 61
62 Purposive Function Goals can thus be achieved by the mean of operations which have been defined -by the artifact developer- within artifacts control interface. Agent s Goal is in Operation Outcomes: 62
63 Doxastic Function Artifacts include machine-readable Representations - Can maintain, make it observable, pre-process information From an agent viewpoint, Artifacts are informational units, exploitable in a situated way: - As external repositories, automatically collecting and providing strategic knowledge - Additional memory, even shared between agent groups - Observable cues in order to highlight relevant information in environments (situated cognition) 63
64 Artifact Observable properties can be exploited by agents to retrieve strategic information. The mechanism of observation is conceived as a weak interaction. Doxastic Function Strategic (Goal Supporting) knowledge is in artifacts readable properties: 64
65 PRODUCERS CONSUMERS Example: a variable number of Producer and Consumer Agents want to exchange generic Items Bounded resources: Time, Space, Memory.. PRODUCERS - Need for a strategy to sychronise, Item coordinate (conc. systems) Item CONSUMERS A Bounded Inventory Artifact is designed to function as a shared Inventory mediating the activities - Ruling and Enabling the exchange Inventory Size can be modified to change performance of the system 65
66 BOUNDED INVENTORY n_items 0 max_items 100 put get OBSERVABLE PROPERTIES: n_items: int+ max_items: int Invariants: n_items <= max_items USAGE INTERFACE: import alice.cartago.*; import java.util.*; public class BoundedInventory extends Artifact { private LinkedList<Item> void init(int nmax){ items = new LinkedList<Item>(); defineobsproperty("max_items",nmax); void put(item obj){ items.add(obj); void get(){ Item item = items.removefirst(); updateobsproperty("n_items",items.size()-1); boolean itemavailable(){ return items.size() > 0; put(item:item) / (n_items < max_items): [ obs_prop_updated, op_exec_completed ] get / (n_items >= 0) : [ obs_prop_updated, new_item(item:item), op_exec_completed boolean inventorynotfull(item obj){ int maxitems = getobsproperty("max_items").intvalue(); return items.size() < maxitems; 66
67 Purposive Function Both Producer and Consumer Goals are in Artifact outcomes, after the use All the computation required to synchronize interactions is externalised in the Bounded Inventory - It can possibly preprocess the items, e.g. tranlsate them to different ontologies 67
68 Doxastic Function Two bounded buffers are in place, each with a different load By focusing art. properties, Consumer can decide which is the most reliable one to use (Goal Supporting Beliefs) Update of Goal Supporting Beliefs is done authomatically - in reaction to a property change event 68
69 Cognitive Artifacts The notion is related to agents able to bring about artifact informational functions [Normann] To provide Relevant, Strategic Information to Single-Agent - Easy reasoning about goals: goal supporting beliefs - Simplifying agent choices and easing deliberation processes To distribute Information in Multi-Agent 1. Across Agents: organise and make available relevant information as permanent sideeffect of artifact use (modification of artifact state) 2. Across Platforms: mediated interactions 3. Across Time: hold strategic information persistent over agent presence 4. Across Space: no need for agents mutual presence within a location or heavy message exchange protocols 69
70 RoomsWorld Example GOAL: clean rooms Agents have bounded range of sight i.e., can locate trash items only entering the room To prevent wasting resources (time) agents need a good strategy to coordinate activities Each agent should deliberate the room to visit knowing and evaluating the activities performed by others The information about which room has already been cleaned is relevant for deciding the next curse of actions: GOAL-SUPPORTING BELIEFS 70
71 Introducing Cognitive Artifacts WATCH OBSERVABLE PROPERTIES tick_time long USAGE INTERFACE start() tick_time start long LOG OBSERVABLE PROPERTIES lastnote int USAGE INTERFACE putnote(object note) lastnote putnote int public class Watch extends Artifact long tick_time; private final long exp_length = void init(){ tick_time=0; public class Log extends Artifact { private LinkedList<String> notes; private String name; private location void start() { try { nextstep( "tick"); catch (Exception ex) int void init(string n, location l){ name=n; loc= l; notes = new void tick(){ if (tick_time<exp_length){ try { updateproperty( "tick_time", ++tick_time); // signal to synchronize dwelling agents signal( "grig_tick", tick_time); outsignal( "link", new Op("setSimTime", tick_time )); nextstep("tick"); catch (Exception ex){ else { signal( void putnote( Object ts ){ notes.addlast(ts.tostring()); lastnote = ((Integer)ts).intValue(); 71
72 DEMO 72
73 Easing Deliberation (Jason) Observable State <lastnote, VALUE> Agent _2 Operations Usage Interface Observable Events <DESCR,CONTENT> [... retrieve IDLog and IDWatch... ] cartago.observeproperty(idlog, lastnote(logt) ); cartago.observeproperty(idwatch, sim_time(wt));!decide(n, Wt, LogT). Observable State <lastnote, VALUE> Agent _1 Operations putnote(object ts) Observable Events <DESCR,CONTENT> Updating Goal-Supporting Beliefs... cartago.lookupartifact(log, LogID); cartago.use(logid, putnote(currenttime));... 73
74 Easing Deliberation (Jadex) Observable State <lastnote, VALUE> Agent _1 Operations putnote(object ts) Observable Events <DESCR,CONTENT> observeproperty() Observable State <sim_time,value> Operations Agent_2 Usage Interface Observable Events <DESCR,CONTENT> 74
75 Controlling Externalized Activities A pivotal aspect in A&A is for activities required for the control and the coordination of externalized processes Relations from cognitive agents to cognitive artifacts are bidirectional. External events coming from an artifact can be integrated at an architectural level by automatically promoting such events as signals requiring servicing - to be addressed within the reasoning processes. 75
76 Agents as Dual Systems Sometime is useful to divede goal processing (i.e. deliberation) from intention processing (i.e. means end reasoning) Goal Deliberation AGENT 2 Filtering 1 Plan Selection InternalEvent Observable State <NAME,VALUE> Operations Usage Interface Observable Events <DESCR,CONTENT> 1. Once encoded, the signal of a given interaction can bypass practical reasoning and trigger plans as reactions - Routinized activities and reactive behavior - No need for expansive deliberation processess 2. Particular events can be used for signalling someting wrong - Mismatch on filtering rules artifactevent - Reconsider Intention truough reasoning 76
77 An example: Artifact Based Contract-Net Buyer and Seller mediate their interactions in a Contract-Net Workspace 2 Artifacts, BuyerBoard and SellerBoard, are linked to propagate each other relevant information 77
78 Goal Directed Interaction Buyer adopt the Goal to buy a given book and initiate a call-for-proposal upon the BuyerBoard Goal directed agents can reason in terms of declarative Goals wich have a proper representation and lifecycle - Declarative Goals - Deliberation is Independent form intention selection - Twofold reasnonig processes for adopting Goals and selecting Plans 78
79 Contract Net Observable State <seller_reputation, VALUE> Operations MakeCfp Operations Register Buyer BuyBook GiveFeedb MakeProposal DeliverBook Seller PropResp Request ReceiveBook AcceptProp BuyerBoard SellerBoard 79
80 Contract Net Observable State <seller_reputation, VALUE> Operations MakeCfp Operations Register Buyer BuyBook GiveFeedb MakeProposal DeliverBook Seller PropResp Request ReceiveBook AcceptProp BuyerBoard SellerBoard 80
81 Contract Net Observable State <seller_reputation, VALUE> Operations MakeCfp Operations Register Buyer BuyBook GiveFeedb MakeProposal DeliverBook Seller PropResp Request ReceiveBook AcceptProp BuyerBoard SellerBoard 81
82 Contract Net Observable State <seller_reputation, VALUE> Operations MakeCfp Operations Register Buyer BuyBook GiveFeedb MakeProposal DeliverBook Seller PropResp Request ReceiveBook AcceptProp BuyerBoard SellerBoard 82
83 Concluding Remarks Artifacts can be cognitively used once their representational and operational contents are mapped into reasoning processes A&A interaction is approached at a programming level The problem is now how to make agents aware about artifacts which are not known at desing time Artifact Representional Contents (i.e. manuals, properties, interfaces) has to be gounded with agents epistemic (beliefs) and motivational (goals) states. 83
84 Two more Steps towards an Extended Mind [Clarks] Artifact discovery as a process of Epistemic Reasoning - Agents need to Read, learn, and match Artifact Representational contents Operational contents has to be included in Practical Reasoning (to achieve goals) - By changing the actions required for achieving a goal, artifact operations change means-end reasoning (planning) 84
85 CORE ASPECTS Defining an agent-understandable model & semantics for artifact manual - how to specify artifact functionalities - how to specify artifact operating instructions How to extend agent basic reasoning cycle including reasoning about artifacts - relating agent means ends reasoning and artifact functions - relating agent plans and artifact operating instructions and function description Reference literature - Artificial Intelligence, Planning, and Distributed AI - Semantic Web / Ontologies 85
86 FUTURE WORKS Objectives - enabling intelligent agents to dynamically discover and use (and possibly construct) artifacts according to their individual / social objectives - open systems systems with different kinds of aspects not defined a priory by MAS designers Toward fully autono(mic/mous) systems - exploring self-organizing systems based on intelligent agents self-chop+ca - configuring, healing, optimizing, protecting + constructing, adapting 86
87 ONGOING EVALUATION (APPLICATIONS) ORA4MAS (w/ Hubner, Boissier, Kitio, Ricci) - exploiting artifacts to build an organisational infrastructure CARTAGO-WS - basic set of artifacts for building SOA/WS applications interacting with web services implementing web services ARTIFACT LIBRARIES - setting up a set of reusable artifacts in MAS applications 87
88 REFERENCES Agens Faber: Toward A Theory of Artefacts for MAS Electronic Notes in Theoretical Computer Sciences, Elsevier Science B.V., 2006, 150, 'Give Agents their Artifacts': The A&A Approach for Engineering Working Environments. In 6th international Joint Conference on Autonomous Agents and Multi-Agent Systems (AAMAS 2007). Honolulu, Hawai'i, USA, 2007 Ricci, A., Viroli, M., Omicini, A. The A&A Programming Model & Technology for Developing Agent Environments in MAS. ProMAS'07,Post-proceedings, Springer, 2007, 4908, Piunti, M., Ricci, A. Cognitive Artifacts for Intelligent Agents in MAS: Exploiting Relevant Information residing in Environments. Workshop on Knowledge Representation for Agents and Multi-Agent Systems (KRAMAS 2008), Sydney, 2008 Ricci, A., Piunti, M., Acay, L. D., Bordini, R.; Hubner, J., Dastani, M. Integrating Artifact-Based Environments with Heterogeneous Agent-Programming Platforms. In 6th international Joint Conference on Autonomous Agents and Multi-Agent Systems (AAMAS'08). Estoril, 2008 Artifacts in the A&A meta-model for multi-agent systems. Journal of Autonomous Agents and Multi-Agent Systems, 2008, 17 (3) Piunti, M.; Ricci, A.; Braubach, L. & Pokahr, A. Goal-Directed Interactions in Artifact-Based MAS: Jadex Agents playing in CARTAGO Environments In IEEE/WIC/ACM International Conference on Web Intelligence and Intelligent Agent Technology. Sydney Piunti, M., Ricci, A. : Operational and Doxastic Use of Artifacts in MAS. In Proceedings of Sixth European Workshop on Multi-Agent Systems, to appear
ENVIRONMENT PROGRAMMING IN MAS WITH CARTAGO
SISMA 2008/2009 - Seminar ENVIRONMENT PROGRAMMING IN MAS WITH CARTAGO Alessandro Ricci alice group at DEIS, Università di Bologna, Cesena a.ricci@unibo.it joint work with: - Michele Piunti, PhD student
More informationFrom Agents to Artifacts Back and Forth Operational and Doxastic Use of Artifacts in MAS
Operational and Doxastic Use of Artifacts in MAS Michele Piunti(1,2), Alessandro Ricci (1) (1) alice group at DEIS, Università di Bologna, Cesena (2) Istituto Scienze e Tecnologie della Cognizione, ISTC-CNR,
More informationsimpa An Agent-Oriented Approach for Prototyping Concurrent Applications on Top of Java
SISMA 2008/2009 - Seminar simpa An Agent-Oriented Approach for Prototyping Concurrent Applications on Top of Java Alessandro Ricci alice group at DEIS, Università di Bologna, Cesena a.ricci@unibo.it joint
More informationFrom Agents to Artifacts Back and Forth: Purposive and Doxastic use of Artifacts in MAS
From Agents to Artifacts Back and Forth: Purposive and Doxastic use of Artifacts in MAS 1 Michele Piunti and Alessandro Ricci DEIS, Università di Bologna, Italy {michele.piunti,a.ricci}@unibo.it Abstract.
More informationOutline. Multi-Agent Oriented Programming Environment Oriented Programming. Classic Properties of Environment in MAS. The CArtAgO Platform
Multi-Agent Oriented Programming Environment Oriented Programming The CArtAgO Platform 1 Origins and Fundamentals Outline 2 Environment Oriented Programming O. Boissier, R.H. Bordini, J.F. Hübner, A. Ricci
More informationsimpa-ws: A Simple Agent-Oriented Programming Model & Technology for Developing SOA & Web Services
simpa-ws: A Simple Agent-Oriented Programming Model & Technology for Developing SOA & Web Services Alessandro Ricci, Enrico Denti Abstract Service-Oriented Architecture (SOA) is more and more recognised
More information1.1 Jadex - Engineering Goal-Oriented Agents
1.1 Jadex - Engineering Goal-Oriented Agents In previous sections of the book agents have been considered as software artifacts that differ from objects mainly in their capability to autonomously execute
More informationProgramming Multiagent Systems with JaCaMo Environment Part
Programming Multiagent Systems with JaCaMo Environment Part Olivier Boissier 1, Rafael H. Bordini 2, Jomi F. Hübner 3, Alessandro Ricci 4 1 EMSE, France Olivier.Boissier@emse.fr 3 DAS-UFSC, Brazil jomi@das.ufsc.br
More informationAgent-Oriented Programming for Developing Modern Software Systems
Agent-Oriented Programming for Developing Modern Software Systems Andrea Santi 1 a.santi@unibo.it Alma Mater Studiorum Università di Bologna Ph.D in Electronics, Computer Science and Telecommunications
More informationCArtAgO: An Infrastructure for Engineering Computational Environments in MAS
CArtAgO: An Infrastructure for Engineering Computational Environments in MAS Alessandro Ricci, Mirko Viroli, and Andrea Omicini DEIS, Università di Bologna via Venezia 52, 47023 Cesena, Italy {a.ricci,mirko.viroli,andrea.omicini@unibo.it
More informationCArtAgO: A Framework for Prototyping Artifact-based Environments in MAS
CArtAgO: A Framework for Prototyping Artifact-based Environments in MAS Alessandro Ricci, Mirko Viroli, and Andrea Omicini Alma Mater Studiorum Università di Bologna via Venezia 52, 47023 Cesena, Italy
More informationsimpa: A Simple Agent-Oriented Java Extension for Developing Concurrent Applications
simpa: A Simple Agent-Oriented Java Extension for Developing Concurrent Applications Alessandro Ricci, Mirko Viroli, and Giulio Piancastelli DEIS, Alma Mater Studiorum Università di Bologna, Italy {a.ricci,mirko.viroli,giulio.piancastelli@unibo.it
More informationIntroduction to Distributed Systems
Introduction to Distributed Systems Distributed Systems L-A Sistemi Distribuiti L-A Andrea Omicini andrea.omicini@unibo.it Ingegneria Due Alma Mater Studiorum Università di Bologna a Cesena Academic Year
More informationAgent-Oriented Programming as a Paradigm for Developing Modern Software Systems
Agent-Oriented Programming as a Paradigm for Developing Modern Software Systems Andrea Santi 1, Alessandro Ricci 1 a.santi@unibo.it, a.ricci@unibo.it Alma Mater Studiorum Università di Bologna Ph.D in
More informationJade: Java Agent DEvelopment Framework Overview
Jade: Java Agent DEvelopment Framework Overview Multiagent Systems LM Sistemi Multiagente LM Stefano Mariani revised by Andrea Omicini s.mariani@unibo.it, andrea.omicini@unibo.it Dipartimento di Informatica:
More informationScience of Computer Programming
Science of Computer Programming 76 (2011) 37 62 Contents lists available at ScienceDirect Science of Computer Programming journal homepage: www.elsevier.com/locate/scico simpa: An agent-oriented approach
More informationCoordination in Situated Systems
Coordination in Situated Systems Engineering MAS Environment in TuCSoN Stefano Mariani, Andrea Omicini {s.mariani, andrea.omicini}@unibo.it Dipartimento di Informatica Scienza e Ingegneria (DISI) Alma
More informationDeveloping Web Client Applications with JaCa-Web
Developing Web Client Applications with JaCa-Web Mattia Minotti University of Bologna Cesena, Italy Email: mattia.minotti@studio.unibo.it Andrea Santi DEIS, University of Bologna Cesena, Italy Email: a.santi@unibo.it
More informationJade: Java Agent DEvelopment Framework Overview
Jade: Java Agent DEvelopment Framework Overview Stefano Mariani s.mariani@unibo.it Dipartimento di Informatica Scienza e Ingegneria (DISI) Alma Mater Studiorum Università di Bologna a Cesena Academic Year
More informationFrom Objects to Agents: The Java Agent Middleware (JAM)
From Objects to Agents: The Java Agent Middleware (JAM) Laboratory of Multiagent Systems LM Laboratorio di Sistemi Multiagente LM Elena Nardini elena.nardini@unibo.it Ingegneria Due Alma Mater Studiorum
More informationIntroduction to Distributed Systems
Introduction to Distributed Systems Distributed Systems Sistemi Distribuiti Andrea Omicini andrea.omicini@unibo.it Ingegneria Due Alma Mater Studiorum Università di Bologna a Cesena Academic Year 2011/2012
More informationContext-Awareness and Adaptation in Distributed Event-Based Systems
Context-Awareness and Adaptation in Distributed Event-Based Systems Eduardo S. Barrenechea, Paulo S. C. Alencar, Rolando Blanco, Don Cowan David R. Cheriton School of Computer Science University of Waterloo
More informationAgent Language Analysis: 3APL
Alvarez Napagao Sergio Auffarth Benjamin Salazar Ramirez rman Agent Language Analysis: 3APL Course: Multi-Agent Systems Professor: Javier Vazquez Introduction An Abstract Agent Programming Language or
More informationProcesses in Distributed Systems
Processes in Distributed Systems Distributed Systems L-A Sistemi Distribuiti L-A Andrea Omicini andrea.omicini@unibo.it Ingegneria Due Alma Mater Studiorum Università di Bologna a Cesena Academic Year
More informationProcesses in Distributed Systems
Processes in Distributed Systems Distributed Systems Sistemi Distribuiti Andrea Omicini andrea.omicini@unibo.it Dipartimento di Informatica Scienza e Ingegneria (DISI) Alma Mater Studiorum Università di
More informationSoftware Architectures
Software Architectures Distributed Systems Sistemi Distribuiti Andrea Omicini andrea.omicini@unibo.it Dipartimento di Informatica: Scienza e Ingegneria (DISI) Alma Mater Studiorum Università di Bologna
More informationSoftware Architectures
Software Architectures Distributed Systems L-A Sistemi Distribuiti L-A Andrea Omicini andrea.omicini@unibo.it Ingegneria Due Alma Mater Studiorum Università di Bologna a Cesena Academic Year 2008/2009
More informationFIPA specification and JADE. Tomáš Poch
FIPA specification and JADE Tomáš Poch Agents System that is situated in some environment, and that is capable of autonomous action in this environment in order to meet its design objectives [Wooldridge
More informationDesign Patterns. SE3A04 Tutorial. Jason Jaskolka
SE3A04 Tutorial Jason Jaskolka Department of Computing and Software Faculty of Engineering McMaster University Hamilton, Ontario, Canada jaskolj@mcmaster.ca November 18/19, 2014 Jason Jaskolka 1 / 35 1
More informationAgent-Oriented Software Engineering
Agent-Oriented Software Engineering Lin Zuoquan Information Science Department Peking University lz@is.pku.edu.cn http://www.is.pku.edu.cn/~lz/teaching/stm/saswws.html Outline Introduction AOSE Agent-oriented
More informationContext-Aware Systems. Michael Maynord Feb. 24, 2014
Context-Aware Systems Michael Maynord Feb. 24, 2014 The precise definition of 'context' is contentious. Here we will be using 'context' as any information that can be used to characterize the situation
More informationUnifying Agent and Component Concepts - Jadex Active Components
Unifying Agent and Component Concepts - Jadex Active Components Alexander Pokahr, Lars Braubach, Kai Jander Distributed Systems and Information Systems Group (VSIS) Department of Informatics, University
More informationDistributed Runtime Verification of JADE and Jason Multiagent Systems with Prolog?
Distributed Runtime Verification of JADE and Jason Multiagent Systems with Prolog? Daniela Briola, Viviana Mascardi, and Davide Ancona DIBRIS, Genoa University, Italy daniela.briola,viviana.mascardi,davide.ancona@unige.it
More informationCommunication in Distributed Systems
Communication in Distributed Systems Distributed Systems Sistemi Distribuiti Andrea Omicini andrea.omicini@unibo.it Dipartimento di Informatica Scienza e Ingegneria (DISI) Alma Mater Studiorum Università
More informationProgramming Safe Agents in Blueprint. Alex Muscar University of Craiova
Programming Safe Agents in Blueprint Alex Muscar University of Craiova Programmers are craftsmen, and, as such, they are only as productive as theirs tools allow them to be Introduction Agent Oriented
More informationService-Oriented Programming
Service-Oriented Programming by Guy Bieber, Lead Architect, ISD C4I, Motorola ABSTRACT - The Service-Oriented Programming (SOP) model is the most exciting revolution in programming since Object Oriented
More informationMASSiVE, Unità di Torino
MASSiVE, Unità di Torino Personalization, verification and conformance for logic-based communicating agents M. Baldoni, C. Baroglio, A. Martelli, V. Mascardi, V. Patti, C. Schifanella, L. Torasso 1 Main
More informationExecuting Evaluations over Semantic Technologies using the SEALS Platform
Executing Evaluations over Semantic Technologies using the SEALS Platform Miguel Esteban-Gutiérrez, Raúl García-Castro, Asunción Gómez-Pérez Ontology Engineering Group, Departamento de Inteligencia Artificial.
More informationAn Agent Modeling Language Implementing Protocols through Capabilities
An Agent Modeling Language Implementing Protocols through Capabilities Nikolaos Spanoudakis 1,2 1 Technical University of Crete, Greece nikos@science.tuc.gr Pavlos Moraitis 2 2 Paris Descartes University,
More information[module 2.2] MODELING CONCURRENT PROGRAM EXECUTION
v1.0 20130407 Programmazione Avanzata e Paradigmi Ingegneria e Scienze Informatiche - UNIBO a.a 2013/2014 Lecturer: Alessandro Ricci [module 2.2] MODELING CONCURRENT PROGRAM EXECUTION 1 SUMMARY Making
More informationA Self-Organising Solution to the Collective Sort Problem in Distributed Tuple Spaces
A Self-Organising Solution to the Collective Sort Problem in Distributed Tuple Spaces Mirko Viroli Matteo Casadei Luca Gardelli Alma Mater Studiorum Università di Bologna {mirko.viroli,m.casadei,luca.gardelli}@unibo.it
More informationIngegneria del Software Corso di Laurea in Informatica per il Management. Introduction to UML
Ingegneria del Software Corso di Laurea in Informatica per il Management Introduction to UML Davide Rossi Dipartimento di Informatica Università di Bologna Modeling A model is an (abstract) representation
More informationScalable Computing: Practice and Experience Volume 13, Number 2, pp
Scalable Computing: Practice and Experience Volume 13, Number 2, pp. 100 119. http://www.scpe.org ISSN 1895-1767 c 2012 SCPE DEVELOPING DISTRIBUTED SYSTEMS WITH ACTIVE COMPONENTS AND JADEX LARS BRAUBACH
More informationTask-oriented engineering of coordinated software systems
CE: The Vision for the Future Generation in Research and Applications, R. Jardim-Gonçalves et al. (eds) 2003 Swets & Zeitlinger, Lisse, ISBN 90 5809 622 X Task-oriented engineering of coordinated software
More informationScalable Middleware Environment for Agent-Based Internet Applications]
Scalable Middleware Environment for Agent-Based Internet Applications] Benno J. Overeinder and Frances M.T. Brazier Department of Computer Science, Vrije Universiteit Amsterdam De Boelelaan 1081a, 1081
More informationAOSA - Betriebssystemkomponenten und der Aspektmoderatoransatz
AOSA - Betriebssystemkomponenten und der Aspektmoderatoransatz Results obtained by researchers in the aspect-oriented programming are promoting the aim to export these ideas to whole software development
More informationA SELF-ADAPTIVE ARCHITECTURE FOR AUTONOMIC SYSTEMS DEVELOPED WITH ASSL
A SELF-ADAPTIVE ARCHITECTURE FOR AUTONOMIC SYSTEMS DEVELOPED WITH ASSL Emil Vassev 1, Mike Hinchey 2, Aaron Quigley 1 1 Lero The Irish Software Engineering Research Centre, University College Dublin, Ireland
More informationFedX: A Federation Layer for Distributed Query Processing on Linked Open Data
FedX: A Federation Layer for Distributed Query Processing on Linked Open Data Andreas Schwarte 1, Peter Haase 1,KatjaHose 2, Ralf Schenkel 2, and Michael Schmidt 1 1 fluid Operations AG, Walldorf, Germany
More informationAgent Language Analysis: 3-APL
Agent Language Analysis: 3-APL Sergio Alvarez Napagao, Benjamin Auffarth, Norman Salazar Ramirez 3-APL (Triple APL) is an agent programming language and platform, created as a way of developing intelligent
More information1 Introduction H.-JOACHIM NERN 1, G. AGRE 2, T. ATANANSOVA 2, J. SAARELA 3
System Framework for Generating Open Development Platforms for Web-Service Enabled Applications Using Semantic Web Technologies, Distributed Decision Support Units and Multi-Agent-Systems INFRAWEBS II
More informationCreational. Structural
Fitness for Future of Design Patterns & Architectural Styles Design patterns are difficult to teach, so we conducted a class collaboration where we all researched and reported on a variety of design patterns
More informationCover Page. The handle holds various files of this Leiden University dissertation
Cover Page The handle http://hdl.handle.net/1887/22891 holds various files of this Leiden University dissertation Author: Gouw, Stijn de Title: Combining monitoring with run-time assertion checking Issue
More informationProf. Jacques Pasquier
Enhancing Communication within Complex Information Systems: An Agent Approach Prof. Jacques Pasquier 7/11/2008 Workshop: Reasoning, Inference, Decision and Other Things Department of Informatics, University
More informationAPM. Object Monitor. Object Lab. Richard Hayton & Scarlet Schwiderski
APM POSEIDON HOUSE CASTLE PARK CAMBRIDGE CB3 0RD UNITED KINGDOM +44 1223 515010 Fax +44 1223 359779 Email: apm@ansa.co.uk URL: http://www.ansa.co.uk Object Lab Object Monitor Richard Hayton & Scarlet Schwiderski
More informationThe Open Group SOA Ontology Technical Standard. Clive Hatton
The Open Group SOA Ontology Technical Standard Clive Hatton The Open Group Releases SOA Ontology Standard To Increase SOA Adoption and Success Rates Ontology Fosters Common Understanding of SOA Concepts
More informationHelper Agents as a Means of Structuring Multi-Agent Applications
Helper Agents as a Means of Structuring Multi-Agent Applications Kolja Markwardt and Daniel Moldt University of Hamburg, Department of Informatics, Vogt-Kölln-Str. 30, D-22527 Hamburg http://www.informatik.uni-hamburg.de/tgi
More informationMonitoring BPMN-Processes with Rules in a Distributed Environment
Monitoring BPMN-Processes with Rules in a Distributed Environment Lothar Hotz 1, Stephanie von Riegen 1, Lars Braubach 2, Alexander Pokahr 2, and Torsten Schwinghammer 3 1 HITeC e.v. c/o Fachbereich Informatik,
More informationMiddleware. Adapted from Alonso, Casati, Kuno, Machiraju Web Services Springer 2004
Middleware Adapted from Alonso, Casati, Kuno, Machiraju Web Services Springer 2004 Outline Web Services Goals Where do they come from? Understanding middleware Middleware as infrastructure Communication
More informationInformation Collection and Survey Infrastructure, APIs, and Software Tools for Agent-based Systems (An Overview of JADE)
Course Number: SENG 609.22 Session: Fall, 2003 Document Name: Infrastructure, APIs, and Software tools for agent-based system (An Overview of JADE) Course Name: Agent-based Software Engineering Department:
More informationObject-Oriented Design
Object-Oriented Design Lecture 14: Design Workflow Department of Computer Engineering Sharif University of Technology 1 UP iterations and workflow Workflows Requirements Analysis Phases Inception Elaboration
More informationUse and Reuse of Multi-Agent Models and Techniques in a Distributed Systems Development Framework
Use and Reuse of Multi-Agent Models and Techniques in a Distributed Systems Development Framework Agostino Poggi, Michele Tomaiuolo Dipartimento di Ingegneria dell Informazione Università degli Studi di
More information02 - Distributed Systems
02 - Distributed Systems Definition Coulouris 1 (Dis)advantages Coulouris 2 Challenges Saltzer_84.pdf Models Physical Architectural Fundamental 2/58 Definition Distributed Systems Distributed System is
More informationCHAPTER 7 JAVA AGENT DEVELOPMENT ENVIRONMENT
CHAPTER 7 JAVA AGENT DEVELOPMENT ENVIRONMENT 159 Chapter 7 Java Agent Development Environment For more enhanced information resources it requires that the information system is distributed in a network
More informationService Oriented Architectures Visions Concepts Reality
Service Oriented Architectures Visions Concepts Reality CSC March 2006 Alexander Schatten Vienna University of Technology Vervest und Heck, 2005 A Service Oriented Architecture enhanced by semantics, would
More informationSoftware Design Patterns. Background 1. Background 2. Jonathan I. Maletic, Ph.D.
Software Design Patterns Jonathan I. Maletic, Ph.D. Department of Computer Science Kent State University J. Maletic 1 Background 1 Search for recurring successful designs emergent designs from practice
More informationTowards a Component Agent Service Oriented Model
Towards a Component Agent Service Oriented Model Nour Alhouda Aboud, Eric Cariou and Eric Gouardères LIUPPA Laboratory Université de Pau et des Pays de l Adour BP 1155 64013 Pau Cedex France {Nour-alhouda.Aboud,
More informationH1 Spring C. A service-oriented architecture is frequently deployed in practice without a service registry
1. (12 points) Identify all of the following statements that are true about the basics of services. A. Screen scraping may not be effective for large desktops but works perfectly on mobile phones, because
More informationLesson 19 Software engineering aspects
Lesson 19 Software engineering aspects Service Oriented Architectures Security Module 4 - Architectures Unit 1 Architectural features Ernesto Damiani Università di Milano SOA is HAD HAD is an old concept
More informationProfiling and optimization for Android applications on the tatami platform
Profiling and optimization for Android applications on the tatami platform Understanding the tatami Platform and the S-CLAIM Language Jaber Hassoun Advisor: S. l. dr. ing. Andrei Olaru University "Politehnica"
More informationVisual Construction of Multi-Agent-Systems according to the AgentComponent Approach and the Run-Design-Time Concept
Visual Construction of Multi-Agent-Systems according to the AgentComponent Approach and the Run-Design-Time Concept Philipp Meier Institute of Computer Science, Ludwig-Maximilians-Universität meierp@pst.informatik.uni-muenchen.de
More informationDistributed simulation of situated multi-agent systems
Distributed simulation of situated multi-agent systems Franco Cicirelli, Andrea Giordano, Libero Nigro Laboratorio di Ingegneria del Software http://www.lis.deis.unical.it Dipartimento di Elettronica Informatica
More informationOn the Encapsulation and Reuse of Decentralized Coordination Mechanisms: A Layered Architecture and Design Implications
On the Encapsulation and Reuse of Decentralized Mechanisms: A Layered Architecture and Design Implications Jan Sudeikat 1,2 and Wolfgang Renz 1 1 Multimedia Systems Laboratory, Hamburg University of Applied
More informationBusiness Process Modelling & Semantic Web Services
Business Process Modelling & Semantic Web Services Charlie Abela Department of Artificial Intelligence charlie.abela@um.edu.mt Last Lecture Web services SOA Problems? CSA 3210 Last Lecture 2 Lecture Outline
More informationCHAPTER 1: OPERATING SYSTEM FUNDAMENTALS
CHAPTER 1: OPERATING SYSTEM FUNDAMENTALS What is an operating system? A collection of software modules to assist programmers in enhancing system efficiency, flexibility, and robustness An Extended Machine
More informationPlexil-Like Plan Execution Control in Agent Programming
AI and Robotics: Papers from the AAAI-14 Workshop Plexil-Like Plan Execution Control in Agent Programming Pouyan Ziafati SnT, University of Luxembourg Intelligent Systems Group, Utrecht University Abstract
More informationIntroduction to Distributed Systems
Introduction to Distributed Systems Other matters: review of the Bakery Algorithm: why can t we simply keep track of the last ticket taken and the next ticvket to be called? Ref: [Coulouris&al Ch 1, 2]
More informationArtificial Intelligence Agent Oriented Software Engineering
Artificial Intelligence Agent Oriented Software Engineering Maurizio Martelli, Viviana Mascardi {martelli, mascardi}@disi.unige.it University of Genoa Department of Computer and Information Science AI,
More information<Insert Picture Here> The Oracle Fusion Development Platform: Oracle JDeveloper and Oracle ADF Overview
1 1 The Oracle Fusion Development Platform: Oracle JDeveloper and Oracle ADF Overview Dana Singleterry Principal Product Manager Oracle JDeveloper and Oracle ADF http://blogs.oracle.com/dana
More informationTrusted Components. Reuse, Contracts and Patterns. Prof. Dr. Bertrand Meyer Dr. Karine Arnout
1 Last update: 2 November 2004 Trusted Components Reuse, Contracts and Patterns Prof. Dr. Bertrand Meyer Dr. Karine Arnout 2 Lecture 5: Design patterns Agenda for today 3 Overview Benefits of patterns
More informationSemantic Web. Ontology Pattern. Gerd Gröner, Matthias Thimm. Institute for Web Science and Technologies (WeST) University of Koblenz-Landau
Semantic Web Ontology Pattern Gerd Gröner, Matthias Thimm {groener,thimm}@uni-koblenz.de Institute for Web Science and Technologies (WeST) University of Koblenz-Landau July 18, 2013 Gerd Gröner, Matthias
More informationIncorporating applications to a Service Oriented Architecture
Proceedings of the 5th WSEAS Int. Conf. on System Science and Simulation in Engineering, Tenerife, Canary Islands, Spain, December 16-18, 2006 401 Incorporating applications to a Service Oriented Architecture
More informationAgent Architectures & Languages. Heikki Helin
Agent Architectures & Languages Heikki Helin Agent Architectures Introduction Different architectures Deliberative approach Reactive approach Hybrid approach Agent Architectures Definition Maes: An architecture
More informationICT-SHOK Project Proposal: PROFI
ICT-SHOK Project Proposal: PROFI Full Title: Proactive Future Internet: Smart Semantic Middleware Overlay Architecture for Declarative Networking ICT-SHOK Programme: Future Internet Project duration: 2+2
More information02 - Distributed Systems
02 - Distributed Systems Definition Coulouris 1 (Dis)advantages Coulouris 2 Challenges Saltzer_84.pdf Models Physical Architectural Fundamental 2/60 Definition Distributed Systems Distributed System is
More informationMotivation and Intro. Vadim Ermolayev. MIT2: Agent Technologies on the Semantic Web
MIT2: Agent Technologies on the Semantic Web Motivation and Intro Vadim Ermolayev Dept. of IT Zaporozhye National Univ. Ukraine http://eva.zsu.zp.ua/ http://kit.zsu.zp.ua/ http://www.zsu.edu.ua/ http://www.ukraine.org/
More informationInvestigating F# as a development tool for distributed multi-agent systems
PROCEEDINGS OF THE WORKSHOP ON APPLICATIONS OF SOFTWARE AGENTS ISBN 978-86-7031-188-6, pp. 32-36, 2011 Investigating F# as a development tool for distributed multi-agent systems Extended abstract Alex
More informationA Tutorial on The Jini Technology
A tutorial report for SENG 609.22 Agent Based Software Engineering Course Instructor: Dr. Behrouz H. Far A Tutorial on The Jini Technology Lian Chen Introduction Jini network technology provides a simple
More informationLinking ITSM and SOA a synergetic fusion
Linking ITSM and SOA a synergetic fusion Dimitris Dranidis dranidis@city.academic.gr CITY College, Computer Science Department South East European Research Centre (SEERC) CITY College CITY College Founded
More informationMiddleware Mediated Transactions & Conditional Messaging
Middleware Mediated Transactions & Conditional Messaging Expert Topic Report ECE1770 Spring 2003 Submitted by: Tim Chen John C Wu To: Prof Jacobsen Date: Apr 06, 2003 Electrical and Computer Engineering
More informationConcurrent Object-Oriented Programming
Concurrent Object-Oriented Programming Bertrand Meyer, Volkan Arslan 2 Lecture 4: Motivation and Introduction Definition 3 Concurrent programming = parallel programming on a single processor? = is about
More informationDS 2009: middleware. David Evans
DS 2009: middleware David Evans de239@cl.cam.ac.uk What is middleware? distributed applications middleware remote calls, method invocations, messages,... OS comms. interface sockets, IP,... layer between
More informationMobile robots and appliances to support the elderly people
Microsoft Research Embedded Systems Invitation for Proposal Mobile robots and appliances to support the elderly people Luca Iocchi, Daniele Nardi Dipartimento di Informatica e Sistemistica Università di
More informationTowards a Long Term Research Agenda for Digital Library Research. Yannis Ioannidis University of Athens
Towards a Long Term Research Agenda for Digital Library Research Yannis Ioannidis University of Athens yannis@di.uoa.gr DELOS Project Family Tree BRICKS IP DELOS NoE DELOS NoE DILIGENT IP FP5 FP6 2 DL
More informationOWL-S for Describing Artifacts
OWL-S for Describing Artifacts Rossella Rubino, Ambra Molesini, Enrico Denti ambra.molesini@unibo.it Alma Mater Studiorum Università di Bologna Lisbon, 14 15 December 2006 Ambra Molesini (Università di
More informationmodel (ontology) and every DRS and CMS server has a well-known address (IP and port).
7 Implementation In this chapter we describe the Decentralized Reasoning Service (DRS), a prototype service implementation that performs the cooperative reasoning process presented before. We present also
More informationEnterprise Architecture Views and Viewpoints in ArchiMate - Reference
Enterprise Architecture Views and Viewpoints in ArchiMate - Reference Source: ArchiMate 2.0 Specification, chapter 8, http://pubs.opengroup.org/architecture/archimate2-doc/chap08.html Views and Viewpoints
More informationThe Java Memory Model
The Java Memory Model What is it and why would I want one? Jörg Domaschka. ART Group, Institute for Distributed Systems Ulm University, Germany December 14, 2009 public class WhatDoIPrint{ static int x
More informationAGENTSPEAK AND JASON. AgentSpeak ROBOTICS AND AUTONOMOUS SYSTEMS. Today. Language of choice for the Multi-Agent Programming Contest
ROBOTICS AND AUTONOMOUS SYSTEMS Simon Parsons Department of Computer Science University of Liverpool LECTURE 19 comp329-2013-parsons-lect19 2/35 Today In this lecture we will begin to look at the tools
More informationWritten Presentation: JoCaml, a Language for Concurrent Distributed and Mobile Programming
Written Presentation: JoCaml, a Language for Concurrent Distributed and Mobile Programming Nicolas Bettenburg 1 Universitaet des Saarlandes, D-66041 Saarbruecken, nicbet@studcs.uni-sb.de Abstract. As traditional
More informationOverview. Distributed Systems. Distributed Software Architecture Using Middleware. Components of a system are not always held on the same host
Distributed Software Architecture Using Middleware Mitul Patel 1 Overview Distributed Systems Middleware What is it? Why do we need it? Types of Middleware Example Summary 2 Distributed Systems Components
More information