The Affordance ontology is one of the modules of the MARIO Ontology Network (<a href="https://w3id.org/MON">MON</a>) which aims at extending the classical notion of affordance (Gibson 1977). This theory suggests that the physical objects (e.g., a door) offer the opportunity of performing an action (e.g., open). The Affordance ontology is designed by relying on the assumption that, not only physical objects, but also complex situations (e.g. the user want to listen to some music) afford actions (e.g. play music). A complex situation can be seen as the fulfilment at a certain time of certain conditions. These conditions may involve temporal aspects (e.g. lunchtime may afford the task remember the user to take the pills), the perception of certain physical objects, the receiving of a command (e.g. I want to listen to some music), or even the existence of certain state-of-affairs (e.g. the situation the user is sitting on a chair for a long while may afford the task entertain the user). The affordance is formalised as a weighted relation (i.e. a specialization of dul:Relation), which connects a stereotyped situation (i.e. a dul:Description) to the task to be performed in the situation (i.e. a dul:Task) or the goal that the agent has to achieve in a given situation (i.e. dul:Goal). This solution enables two (mutually exclusive) behavior arbitration strategies: - A <i>purely-reactive strategy</i> in which the task is directly activated at the occurrence of a certain situation. For example, if the battery is in critical level, then the robot has to charge it. - A <i>goal-oriented strategy</i> in which the occurrence of a certain stereotyped situation causes the robot to set a goal, and the choice of the actions to perform for achieving the goal are delegated to a planner. For example, the goal "entertaining the user" might require multiple actions (including approaching the user, and entertaining the user with different activities such as playing musing, showing videos etc.) scheduled according to a certain sequence. The affordanceStrength allows to define a prioritization among the affordance relations. For example, if the battery is in critical level, then the robot should not activate the goal ``entertaining the user''. This can be achieved by assigning to (battery in critical level, recharge) a strength higher than (user annoyed, entertain the user). <b>References</b> - L. Asprino, A. G. Nuzzolese, A. Russo, A. Gangemi, V. Presutti, S. Nolfi. "An ontology design pattern for supporting behaviour arbitration in cognitive agents" in: K. Hammar, P. Hitzler, A. Krisnadhi, A. Lawrynowicz, A. G. Nuzzolese, M. Solanki (Eds.), Advances in Ontology Design and Patterns, IOS Press, 2017, pp. 85–95 - Gibson, James J. "The concept of affordances" Perceiving, acting, and knowing (1977). - MARIO Ontology Network (MON) https://w3id.org/MON <b>Example of Usage</b> We provide an example of usage of the Affordance ontology for specifying the following scenario. X is a social robot able to entertain its user by playing music. X can play whatever musical genre the user likes and whenever the user wants to, unless its battery is in critical level. Therefore, if the the user wants to listen to some music and the battery is not in critical level, X accommodates the user's request. Otherwise, if the battery is in critical level, then X go recharging itself. <pre> @prefix aff: &#60;https://w3id.org/MON/affordance.owl#&#62; . @prefix action: &#60;https://w3id.org/MON/action.owl#&#62; . @prefix dul: &#60;http://www.ontologydesignpatterns.org/ont/dul/DUL.owl#&#62; . :UserWantsToListenToSomeMusic a dul:Description . :BatteryInCritalLevel a dul:Description . :PlayMusic a action:Task; aff:hasParameter :genre . :Recharge a aff:Task. :affordancePlayMusicBatteryCritical a aff:Affodance ; aff:affordanceStrength "-10"^^xsd:double ; aff:holds :BatteryInCritalLevel ; aff:hasTask :PlayMusic . :affordancePlayMusicUserWantsToListenToSomeMusic a aff:Affodance ; aff:affordanceStrength "10"^^xsd:double ; aff:holds :UserWantsToListenToSomeMusic ; aff:hasTask :PlayMusic . :affordanceRechargeBatteryCritical a aff:Affodance ; aff:affordanceStrength "1"^^xsd:double ; aff:holds :BatteryInCritalLevel ; aff:hasTask :Recharge . </pre> Affordance Ontology What are the tasks afforded in a certain situation? Which is the strength of an Affordance? To represent the model for supporting the action selection mechanism. It connects an Affordance with the Goal that will be activated. has goal It associates an Affordance to the Task it refers to. has task It associates an Affordance with the Description in which it holds. holds It associates a Description with the Affordance it enables. is held by It encodes the strength of the Affordance. affordance strength 1 An affordance is modelled in DnS fashion and is an n-ary that relates state of the world (i.e., stereotyped situations) to tasks according to specific weights or affordance strengths. Affordance