DA A AD A (From Agents to Artifacts Back and Forth) Towards a Cognitive use of Artifacts in MAS

Size: px
Start display at page:

Download "DA A AD A (From Agents to Artifacts Back and Forth) Towards a Cognitive use of Artifacts in MAS"

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

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 information

From Agents to Artifacts Back and Forth Operational and Doxastic Use of Artifacts in MAS

From 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 information

simpa An Agent-Oriented Approach for Prototyping Concurrent Applications on Top of Java

simpa 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 information

From 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 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 information

Outline. Multi-Agent Oriented Programming Environment Oriented Programming. Classic Properties of Environment in MAS. The CArtAgO Platform

Outline. 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 information

simpa-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 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 information

1.1 Jadex - Engineering Goal-Oriented Agents

1.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 information

Programming Multiagent Systems with JaCaMo Environment Part

Programming 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 information

Agent-Oriented Programming for Developing Modern Software Systems

Agent-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 information

CArtAgO: An Infrastructure for Engineering Computational Environments in MAS

CArtAgO: 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 information

CArtAgO: A Framework for Prototyping Artifact-based Environments in MAS

CArtAgO: 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 information

simpa: A Simple Agent-Oriented Java Extension for Developing Concurrent Applications

simpa: 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 information

Introduction to Distributed Systems

Introduction 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 information

Agent-Oriented Programming as a Paradigm for Developing Modern Software Systems

Agent-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 information

Jade: Java Agent DEvelopment Framework Overview

Jade: 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 information

Science of Computer Programming

Science 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 information

Coordination in Situated Systems

Coordination 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 information

Developing Web Client Applications with JaCa-Web

Developing 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 information

Jade: Java Agent DEvelopment Framework Overview

Jade: 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 information

From Objects to Agents: The Java Agent Middleware (JAM)

From 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 information

Introduction to Distributed Systems

Introduction 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 information

Context-Awareness and Adaptation in Distributed Event-Based Systems

Context-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 information

Agent Language Analysis: 3APL

Agent 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 information

Processes in Distributed Systems

Processes 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 information

Processes in Distributed Systems

Processes 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 information

Software Architectures

Software 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 information

Software Architectures

Software 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 information

FIPA specification and JADE. Tomáš Poch

FIPA 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 information

Design Patterns. SE3A04 Tutorial. Jason Jaskolka

Design 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 information

Agent-Oriented Software Engineering

Agent-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 information

Context-Aware Systems. Michael Maynord Feb. 24, 2014

Context-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 information

Unifying Agent and Component Concepts - Jadex Active Components

Unifying 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 information

Distributed Runtime Verification of JADE and Jason Multiagent Systems with Prolog?

Distributed 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 information

Communication in Distributed Systems

Communication 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 information

Programming Safe Agents in Blueprint. Alex Muscar University of Craiova

Programming 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 information

Service-Oriented Programming

Service-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 information

MASSiVE, Unità di Torino

MASSiVE, 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 information

Executing Evaluations over Semantic Technologies using the SEALS Platform

Executing 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 information

An Agent Modeling Language Implementing Protocols through Capabilities

An 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

[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 information

A 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 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 information

Ingegneria 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 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 information

Scalable Computing: Practice and Experience Volume 13, Number 2, pp

Scalable 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 information

Task-oriented engineering of coordinated software systems

Task-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 information

Scalable Middleware Environment for Agent-Based Internet Applications]

Scalable 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 information

AOSA - Betriebssystemkomponenten und der Aspektmoderatoransatz

AOSA - 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 information

A SELF-ADAPTIVE ARCHITECTURE FOR AUTONOMIC SYSTEMS DEVELOPED WITH ASSL

A 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 information

FedX: A Federation Layer for Distributed Query Processing on Linked Open Data

FedX: 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 information

Agent Language Analysis: 3-APL

Agent 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 information

1 Introduction H.-JOACHIM NERN 1, G. AGRE 2, T. ATANANSOVA 2, J. SAARELA 3

1 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 information

Creational. Structural

Creational. 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 information

Cover Page. The handle holds various files of this Leiden University dissertation

Cover 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 information

Prof. Jacques Pasquier

Prof. 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 information

APM. Object Monitor. Object Lab. Richard Hayton & Scarlet Schwiderski

APM. 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 information

The Open Group SOA Ontology Technical Standard. Clive Hatton

The 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 information

Helper Agents as a Means of Structuring Multi-Agent Applications

Helper 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 information

Monitoring BPMN-Processes with Rules in a Distributed Environment

Monitoring 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 information

Middleware. Adapted from Alonso, Casati, Kuno, Machiraju Web Services Springer 2004

Middleware. 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 information

Information Collection and Survey Infrastructure, APIs, and Software Tools for Agent-based Systems (An Overview of JADE)

Information 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 information

Object-Oriented Design

Object-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 information

Use 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 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 information

02 - Distributed Systems

02 - 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 information

CHAPTER 7 JAVA AGENT DEVELOPMENT ENVIRONMENT

CHAPTER 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 information

Service Oriented Architectures Visions Concepts Reality

Service 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 information

Software Design Patterns. Background 1. Background 2. Jonathan I. Maletic, Ph.D.

Software 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 information

Towards a Component Agent Service Oriented Model

Towards 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 information

H1 Spring C. A service-oriented architecture is frequently deployed in practice without a service registry

H1 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 information

Lesson 19 Software engineering aspects

Lesson 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 information

Profiling and optimization for Android applications on the tatami platform

Profiling 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 information

Visual 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 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 information

Distributed simulation of situated multi-agent systems

Distributed 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 information

On the Encapsulation and Reuse of Decentralized Coordination Mechanisms: A Layered Architecture and Design Implications

On 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 information

Business Process Modelling & Semantic Web Services

Business 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 information

CHAPTER 1: OPERATING SYSTEM FUNDAMENTALS

CHAPTER 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 information

Plexil-Like Plan Execution Control in Agent Programming

Plexil-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 information

Introduction to Distributed Systems

Introduction 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 information

Artificial Intelligence Agent Oriented Software Engineering

Artificial 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

<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 information

Trusted Components. Reuse, Contracts and Patterns. Prof. Dr. Bertrand Meyer Dr. Karine Arnout

Trusted 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 information

Semantic 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. 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 information

Incorporating applications to a Service Oriented Architecture

Incorporating 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 information

Agent Architectures & Languages. Heikki Helin

Agent 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 information

ICT-SHOK Project Proposal: PROFI

ICT-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 information

02 - Distributed Systems

02 - 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 information

Motivation and Intro. Vadim Ermolayev. MIT2: Agent Technologies on the Semantic Web

Motivation 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 information

Investigating F# as a development tool for distributed multi-agent systems

Investigating 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 information

A Tutorial on The Jini Technology

A 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 information

Linking ITSM and SOA a synergetic fusion

Linking 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 information

Middleware Mediated Transactions & Conditional Messaging

Middleware 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 information

Concurrent Object-Oriented Programming

Concurrent 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 information

DS 2009: middleware. David Evans

DS 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 information

Mobile robots and appliances to support the elderly people

Mobile 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 information

Towards 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 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 information

OWL-S for Describing Artifacts

OWL-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 information

model (ontology) and every DRS and CMS server has a well-known address (IP and port).

model (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 information

Enterprise Architecture Views and Viewpoints in ArchiMate - Reference

Enterprise 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 information

The Java Memory Model

The 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 information

AGENTSPEAK AND JASON. AgentSpeak ROBOTICS AND AUTONOMOUS SYSTEMS. Today. Language of choice for the Multi-Agent Programming Contest

AGENTSPEAK 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 information

Written Presentation: JoCaml, a Language for Concurrent Distributed and Mobile Programming

Written 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 information

Overview. Distributed Systems. Distributed Software Architecture Using Middleware. Components of a system are not always held on the same host

Overview. 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