Dealing with incomplete normative states Juan Manuel Serrano Sergio Saugar University Rey Juan Carlos University Rey Juan Carlos Madrid, Spain Madrid, Spain juanmanuel.serrano@urjc.es sergio.saugar@urjc.es Abstract—This paper puts forward a normative framework for that assignment. The attempt of setting up an assignment computational societies which enables the handling of incomplete group will be permitted if, and only if, the assignment has knowledge about normative relations. In particular, attempts to been published, the specified submission deadline has not yet perform a social action are evaluated as permitted, prohibited (i.e. not permitted) or pending for execution (i.e. neither permitted nor passed and the student is not participating in any other working prohibited). This latter category of attempts can eventually be group for that assignment. Alternatively, instead of setting resolved as permitted or prohibited attempts using the speech acts up her own working group, a student may join a working allow and forbid. We make use of the support for incompleteness group set up by another colleague in order to collaborate of action language K in the formalisation of the framework. The with him. Empowerment conditions for joining assignment proposal will be illustrated with some scenarios drawn from the management of university courses. groups coincide with those identified for the setting up of new groups. Some of the permission conditions for setting up I. I NTRODUCTION working groups are also relevant, although only as necessary Empowerments and permissions are two common normative conditions. In particular, if some student attempts to join some devices in the design of computational societies [1], [2], working group and the corresponding submission deadline [3], [4], [5]. The former notion allows us to model the passed or she is already participating in another working institutional capabilities ascribed to agents of the society; the group, then the attempt will be prohibited (i.e. not permitted). latter one serves to represent those desirable institutional states If none of these conditions hold, then there are no grounds for or courses of action which do not lend themselves to violation. prohibiting the attempt. However, this does not mean that there The relations between both notions are commonly considered are grounds for permitting the execution of the social action, application-dependent, i.e. in some domains permission may since the ultimate decision on the permission or prohibition be a necessary condition for empowered agents to act, whereas of the attempt lies with the initiator of the group (i.e. the in others empowerment alone may be a sufficient condition. student who set up the group). Thus, sufficient conditions for Concerning permissions, a difference is also made between permitting or prohibiting the joining action can not be specified regimentation and enforcement mechanisms in the implemen- in advance by the designer of the society. In these scenarios, it tation of normative systems [6]: regimented infrastructures would be very convenient to give the initiator of the group the (e.g. AMELI [7]) effectively prevent agents from executing possibility of either allowing or forbidding the corresponding some action if the corresponding permission does not hold; social action so that the attempt is eventually permitted or on the contrary, systems based upon enforcement rely on a prohibited. subsidiary normative corpus of checking and sanctioning rules This paper puts forward a formal model of permission which to bias the behaviour of agents towards the desired courses enables the representation of incomplete information about of actions. Finally, a common assumption in the literature the normative status of social action attempts, such as the is to consider that both empowerments and permissions are one commented above. Moreover, it formalises the meaning necessarily either true or false. of the speech acts allow and forbid in the context of the This paper challenges this last assumption for the case previous model. In order to proceed with this formalization, of permissions. In particular, it considers those situations we build on the notions of empowerment and permissions in which the designers of the computational society do not reported in [5]. That work introduces an operational semantics have enough knowledge so as to generate a complete set of of computational societies using the action language C+ [8]. permission rules for certain classes of actions. For instance, let In this paper, we opt for the alternative action language K [9] us consider a computational society designed to support the due to its support for incompleteness. management of university courses. As part of the resulting The rest of the paper is structured as follows. Firstly, the specification, empowerment and permission rules are defined most salient features of action language K for the purpose which partially regulate the social processes of the application of this paper will be reviewed. Then, the general framework domain, namely assignments, examinations, tutoring, lectur- for social action processing will be introduced, describing ing, and so forth. In particular, the following norms concerning the major features of the action description in language K. the creation of assignment groups will be considered. Firstly, Next, the speech acts of allowing and forbidding will be empowerment to set up a working group for some assignment formalised. Last, the major differences with previous work is granted to any student of the course who has not yet passed will be discussed and current work briefly described. II. R EVIEW OF ACTION LANGUAGE K • Executability statements are primitive (i.e. not macro) Action languages are formal techniques for representing expressions of the form and reasoning about the performance of actions in dynamic executable a if B domains. The semantics of action languages is given in terms This kind of declaration expresses that action a is eligible of transition systems, namely graphs whose states and arcs for execution in any state of knowledge in which B holds. represent, respectively, the possible configurations of the do- If we want the execution of action a to be not only main and its evolution due to the concurrent execution of a set possible but also mandatory, then a dynamic constraint of actions. Commonly, action languages such as C+ describe can be declared. Since this a common requirement, this transitions between states of the physical world, i.e. states paper introduces the following macro rule which allows which represent complete configurations of the domain, where us to declare B as a sufficient condition for executing a: each fluent is necessarily either true or false. In contrast, action executable a if B executed a if B ⇔ language K [9][10] allows us to describe transitions between caused false after not a, B states of knowledge, where the truth values of some fluents III. S OCIAL ACTION PROCESSING may be neither true nor false, but unknown. The motivation Departing from its original motivation, action language K behind action language K was thus to support agents with an will be used in this paper for describing transitions between incomplete view of the world in their planning processes. states of institutional worlds, rather than states of knowledge An action description in language K is composed of a set of some planning agent. In particular, the technical apparatus of fluent and action declarations, a set of causation rules and of language K will be exploited to represent institutional a set of executability conditions: states where some normative fluents (e.g., permissions) may • A fluent or action p is declared using an expression of have an inherent, non-epistemic indeterminacy. In software the form: engineering terms, the dynamic domain to be modeled is p(X1 ,. . .,Xn ) requires t1 ,. . .,tn thus the social middleware infrastructure in charge of the where Xi are variables and ti are positive literals (i.e., management of the institutional state of the computational true atoms) which specify the types of the corresponding society, rather than the software components participating as variables1 . agents in the society. The corresponding action description • Causation rules are expressions of the form: is partitioned in several sub-specifications corresponding to caused f if B after A the different types of social entities of the computational society, namely social interactions, agents and social actions. If the subexpression f is a fluent literal, the causation A complete account of this specification, however, is beyond rule expresses that f is known to be true in the current the scope of this paper2 . Instead, the focus here will be on the state if B holds in the current state and A also holds major features concerning the processing of social actions. in the preceding state. The subexpressions B and A are actually sequences of literals, possibly prefixed with the A. Social interactions default (or weak) negation operator not . The expression The institutional state of computational societies is hierar- not f holds if f is not known to be true, whereas the chically structured in terms of a tree of social interactions. The expression not −f holds if f is not known to be false. root of this tree, or top-level interaction, represents the social If both expressions hold then the truth value of f is context within which the whole agent activity takes place; unknown. the other sub-interactions represent the social contexts for • The subexpression B can only refer to type or fluent particular joint activities (i.e. social processes). For instance, predicates, whereas A can also refer to action predicates. assignment groups are represented by social interactions which If sequences B and A are empty, the corresponding if are sub-interactions of courses, another type of social interac- and after parts can be dropped from the expression. tion. Social interactions may be initiated within the context of If the after part is empty the rule is called static, some other interaction, and eventually finished by the social otherwise the causation rule is dynamic. Moreover, if middleware. The conditions which cause the execution of these f is the atom false , the causation rule represents an actions are, in general, dependent on the type of interaction. static (resp. dynamic) integrity constraint which allows us Thus, university courses are automatically initiated when the to filter out from the transition system ill-formed states new academic year begins, and assignment groups are initiated (resp. transitions). Dynamic rules can be used to represent when some student successfully declares its initiation through the non-executability conditions and effects of actions. In the performance of the set up social action – in accordance particular, the following macro rule is a shorthand of a with the empowerment and permission rules of the society. In dynamic constraint to represent that condition B blocks this latter case, the initiator of the social interaction can be the execution of action a [10, sec. 2]: defined as the performer of the set up action. nonexecutable a if B 2 But see the C+ version [5] of the specification (which is not able to handle 1 This is actually a slightly simplified version of this construction. See [10] incomplete states), and the full K implementation available from http://zenon. for the full version and the meaning of type predicates. etsii.urjc.es/∼jserrano/speech/k-impl.tgz fluents : 1 fluents : 1 s t a t e i ( I , S ) requires 2 s t a t e a (A, S ) requires 2 interaction ( I ) , interaction state (S ) . 3 a g e n t (A) , a g e n t s t a t e ( S ) . 3 c o n t e x t i ( I1 , I 2 ) requires 4 c o n t e x t a (A, I ) requires 4 i n t e r a c t i o n ( I1 ) , i n t e r a c t i o n ( I2 ) . 5 a g e n t (A) , i n t e r a c t i o n ( I ) . 5 i n i t i a t o r ( I , A) requires 6 p l a y e r ( A1 , A2 ) requires 6 i n t e r a c t i o n ( I ) , a g e n t (A ) . 7 a g e n t ( A1 ) , a g e n t ( A2 ) 7 ... 8 ... 8 actions : 9 actions : 9 i n i t i a t e ( I1 , I 2 ) requires 10 p l a y (A, I ) requires 10 i n t e r a c t i o n ( I1 ) , i n t e r a c t i o n ( I2 ) . 11 i n t e r a c t i o n ( I ) , a g e n t (A ) . 11 ... 12 p l a y f o r ( A1 , A2 , I ) requires 12 always : 13 a g e n t ( A1 ) , a g e n t ( A2 ) , i n t e r a c t i o n ( I ) . 13 nonexecutable i n i t i a t e ( I1 , I 2 ) if 14 ... 14 s t a t e i ( I1 , open ) . 15 always : 15 caused s t a t e i ( I1 , open ) after 16 nonexecutable p l a y (A, I ) if 16 i n i t i a t e ( I1 , I 2 ) . 17 s t a t e a (A, p l a y i n g ) . 17 caused c o n t e x t i ( I1 , I 2 ) after 18 caused s t a t e a (A, p l a y i n g ) after 18 i n i t i a t e ( I1 , I 2 ) . 19 p l a y (A, I ) . 19 ... 20 caused c o n t e x t a (A, I ) after 20 p l a y (A, I ) . 21 Listing 1. K-specification of social interactions executed p l a y ( A1 , I ) if 22 p l a y f o r ( A1 , A2 , I ) . 23 caused p l a y e r ( A1 , A2 ) after 24 p l a y f o r ( A1 , A2 , I ) . 25 Listing 1 shows some relevant features of the specification ... 26 in language K of social interactions. In particular, it shows the Listing 2. K-specification of agents declaration of fluents state i , context i and initiator , which represent, respectively, the run-time state of social interactions (either open or closed , values of the interaction state predicate defined elsewhere), its interaction context and the possible type, which includes the declaration of general fluents and initiator. Also shown is the declaration of the initiate action actions shared by any kind of agent. Particularly, it shows the together with its non-executability conditions and effects (lines declaration of the fluents state a , context a and player , which 14–19). These rules are declared within the scope of the represent the run-time state of agents ( playing or abandoned), always section, since they apply to every possible institutional the social interaction context to which the agent belongs and state. its player agent, respectively. Also, it shows the declaration of the actions play and play for . The former one causes some agent to be created within some social interaction context. B. Agents The general specification only includes its non-executability condition and effect (lines 16–21). The action play for causes Agents are software components which interact through the some agent to be played (line 22) for a particular player agent social middleware as members of a given social interaction (line 24). context, with the purpose of achieving some goal. In order to do so, they are empowered to perform social actions such as C. Social actions setting up new interactions, joining existing interactions, and so forth. For instance, the purpose of students is to pass the The activity of agent components within a multiagent so- course to which they belong as members. In order to achieve ciety manifest itself through the performance of attempts. this goal, students are empowered to set up working groups This external action allows an agent component to perform or to join existing ones in order to carry out some mandatory a given social action, namely to say something, manipulate assignment. In case that the purpose of agents is too complex, the environment or observe the current state of some social its whole activity may be arranged in terms of a role-playing entity. Due to lack of space, this paper will refer only to speech hierarchy of further agents. Thus, the activity of students acts and, particularly, to declarations such as set up and join. within the context of working groups is represented by a Nevertheless, the processing of attempts by the social middle- new kind of agent role played by the course student. Agent ware is independent of the kind of social action. This process roles are played and abandoned by the social middleware takes into account the empowerments and permission rules of according to certain conditions. For instance, a course student the society. In particular, empowerments shall represent the role is automatically abandoned as soon as the agent passes institutional capabilities of agents, i.e. which social actions a the subject; a working group student is automatically created given agent is capable of performing; permissions shall denote for the initiator of the working group, and for any student who the circumstances under which these institutional capabilities successfully manage to join a pre-exiting working group. can be exercised. Attempts by agent components are processed Listing 2 partially shows the K-specification of the agent according to the following procedure: • If the agent is empowered to perform the specified social fluents : 1 s t a t e s a ( Act , S ) requires 2 action, then the attempt will be taken into account; s o c i a l a c t i o n ( Act ) , 3 otherwise, i.e. either if it is known for certain that the social action state (S ) . 4 agent is not empowered, or it can not be concluded that c o n t e x t s a ( Act , I ) requires 5 it is empowered, the external action will be dismissed. s o c i a l a c t i o n ( Act ) , i n t e r a c t i o n ( I ) . 6 In this latter case, the institutional state of the multiagent p e r f o r m e r ( Act , A) requires 7 s o c i a l a c t i o n ( Act ) , a g e n t (A ) . 8 society will not be altered at all. empowered ( Act , A) requires 9 • If the agent is empowered to perform the action, but it s o c i a l a c t i o n ( Act ) , a g e n t (A ) . 10 is known that the specified performer is not permitted p e r m i t t e d ( Act ) 11 to perform it (i.e. it is prohibited), then the process is requires s o c i a l a c t i o n ( Act ) . 12 finished with a prohibited attempt status. On the contrary, ... 13 actions : 14 if the agent is both empowered and permitted, then the a t t e m p t ( Act , A) requires 15 social action is performed by the middleware. The effects s o c i a l a c t i o n ( Act ) , a g e n t (A ) . 16 caused through this execution depend on the kind of p e r f o r m ( Act ) requires 17 social action being performed. s o c i a l a c t i o n ( Act ) . 18 • If the agent is empowered to perform that action, but it is always : 19 executable a t t e m p t ( Act , A ) . 20 neither known that the action is permitted nor prohibited, ... 21 then the social action is kept in a pending state. This caused p e r f o r m e r ( Act , A) after 22 state will be eventually resolved into a performed or a t t e m p t ( Act , A) , empowered ( Act , A ) . 23 prohibited state as soon as it is known whether the action caused s t a t e s a ( Act , p r o h i b i t e d ) after 24 is permitted or prohibited. a t t e m p t ( Act , A) , empowered ( Act , A) , 25 −p e r m i t t e d ( Act ) . 26 This procedure is formalised as part of the social action type executed p e r f o r m ( Act ) if 27 specification, whose major features are shown in listing 3. The a t t e m p t ( Act , A) , empowered ( Act , A) , 28 p e r m i t t e d ( Act ) . 29 signature of this specification includes the action declaration caused s t a t e s a ( Act , p e n d i n g ) after 30 attempt (Act,A), which represents the attempt made by some a t t e m p t ( Act , A) , empowered ( Act , A) , 31 agent component A to perform the social action Act. This n o t p e r m i t t e d ( Act ) , n o t −p e r m i t t e d ( Act ) . 32 action is exogenous, i.e. its cause is to be found outside the ... 33 system being modeled; correspondingly, it is unconditionally caused s t a t e s a ( Act , p r o h i b i t e d ) after 34 s t a t e s a ( Act , p e n d i n g ) , −p e r m i t t e d ( Act ) . 35 declared as executable (cf. line 20). executed p e r f o r m ( Act ) if 36 The different scenarios described above concerning the s t a t e s a ( Act , p e n d i n g ) , p e r m i t t e d ( Act ) . 37 processing of attempts are modeled through different groups ... 38 of static and dynamic rules. Firstly, if the intended agent caused s t a t e s a ( Act , p e r f o r m e d ) after 39 p e r f o r m ( Act ) . 40 is empowered to perform the social action then it will be declared as its performer (line 22), irrespective of the permis- Listing 3. K-specification of social actions sion status. Empowerments, permissions and the performers of social actions, are represented by the fluents empowered, permitted and performer, respectively. If the agent attempting or prohibited. In those cases, the social action will be to perform the social action is empowered then the social resolved to the execution or the prohibition states by the action will be brought about in the next state to one of corresponding rules (lines 34–37). Otherwise, the social three execution states (represented by the fluent state sa ): action will persist until the performer agent is abandoned pending, prohibited or performed (the possible values of the type (i.e. its run-time state is changed to abandoned) or the predicate social action state ). interaction context is closed. • Firstly, if it is known that the action is not permitted IV. F ORBIDDING AND ALLOWING SOCIAL ACTIONS (i.e. −permitted(Act,A)) then the resulting state will be prohibited (line 24). Those social actions pending for execution will be resolved • Secondly, if it is permitted then the action will be as prohibited or permitted attempts as soon as the rules of the performed (line 27). Execution of actions is represented society enables a definite conclusion on its permission status. by the action perform, whose only effect at this level of As a complementary mechanism, particularly useful in the abstraction is the change in the run-time execution state absence of general rules, run-time agents may also change the (line 39). permission status through the speech acts allow and forbid3 . • Last, if the social action is neither known to be permitted 3 Of course, since allow and forbid are speech acts, their performance is nor prohibited, then the social action is kept in a pending also governed by the corresponding empowerment and permission rules. For execution state in the resulting system state (line 30). instance, initiators of assignment groups are unconditionally empowered and permitted to allow other students to join their groups. In other application Eventually, the circumstances may change in such a domains, however, it may happen, for instance, that some agent is required way that the social action is known to be permitted to allow other agent to allow some other agent to do something. fluents : 1 fluents : 1 n e w r o l e ( J o i n , A) requires 2 a c t i o n ( Allow , Act ) requires 2 j o i n ( J o i n ) , a g e n t (A ) . 3 a l l o w ( Allow ) , s o c i a l a c t i o n ( Act ) . 3 ... 4 ... 4 always : 5 always : 5 executed p l a y f o r ( A1 , A2 , I ) if 6 nonexecutable a t t e m p t ( Allow , A) if 6 j o i n ( Join ) , perform ( Join ) , 7 a l l o w ( Allow ) , a c t i o n ( Allow , Act ) , 7 context sa ( Join , I ) , 8 n o t s t a t e s a ( Act , p e n d i n g ) . 8 p e r f o r m e r ( J o i n , A2 ) , n e w r o l e ( J o i n , A1 ) . 9 caused p e r m i t t e d ( Act ) after 9 ... 10 a l l o w ( Allow ) , p e r f o r m ( Allow ) , 10 a c t i o n ( Allow , Act ) . 11 Listing 4. K-specification of the join social action ... 12 Listing 5. K-specification of the allow social action This section provides a formal account of the meaning of these initially : 1 speech acts and illustrates the formalisation of the assignment − h a s s t a t e s a ( j o i n 1 ) . −h a s s t a t e a ( s 2 1 ) . 2 group scenario with the execution of a planning query. To −h a s s t a t e s a ( allow1 ) . 3 account for a complete example, besides the allow and forbid always : 4 speech acts, the join declaration will also be formalised. s t a t e a ( s1 , p l a y i n g ) . c o n t e x t a ( s1 , t o p ) . 5 s t a t e a ( s2 , p l a y i n g ) . c o n t e x t a ( s2 , t o p ) . 6 s t a t e i ( wg1 , open ) . i n i t i a t o r ( wg1 , s 1 ) . 7 A. Formalizing social actions s t a t e a ( s11 , p l a y i n g ) . c o n t e x t a ( s11 , wg1 ) . 8 p l a y e r ( s11 , s 1 ) . empowered ( s2 , j o i n 1 ) . 9 The specification of a new type of social action t1 pro- a c t i o n a ( allow1 , j o i n 1 ) . 10 ceeds, firstly, by declaring a rule social_action(x) :- empowered ( a l l o w 1 , s 1 1 ) . p e r m i t t e d ( a l l o w 1 ) . 11 t_1(x). This rule establishes that any entity of the new type goal : 12 shall be regarded as a social action, so that the rules which member ( wg1 , A) , p l a y e r (A, s 2 ) ? ( 3 ) 13 define the general structure and dynamics of social actions (cf. Listing 6. Working group scenario listing 3) are applicable for entities of that type. Secondly, new fluents representing the additional arguments of the new social action type must be declared. Last, new rules for representing B. Planning query the post-conditions of the performance of the new type of action, as well as their additional non-executability conditions, This section illustrates the semantics of the previous speech etc., have to be declared as well. acts through a simplified implementation of the working group For instance, listing 4 shows the formalisation of the join scenario. This implementation, shown in listing 6, features a declaration. By performing this speech act, the speaker de- consistent situation where the top-level interaction represents clares that a new role is played within some interaction by it. the university course to which two student agents, s1 and s2 , The interaction and the speaker are represented by generic belong as members. The university course has a single working fluents of social actions, namely context sa and performer. group wg1 , previously set up by student s1 . The activity of this The new role to be played is declared as a new fluent, student within the working group is represented by the role new role, pertaining to this kind of speech act. The rest of s11 . The query posed to the DLVk planner (an implementation the specification includes the particular effects associated to of action language K as a front end to the DLV answer set the execution of this kind of declaration, which are indirectly programming framework [9], [11]) asks for the possible ways achieved through the internal action play for (cf. listing 3). in which the student s2 may play a role within the working Figure 5 shows the partial specification of the allow speech group wg1 , in exactly three planning steps. act. In this case, the generic social action specification is The output of the DLVk planner is shown below. As ex- extended with the new fluent action a , which represents the pected, the first action that needs to be performed is an attempt social action targeted by the allow speech act. The specifi- by agent s2 to join the working group. Two additional objects cation includes a condition which establishes that the social have to be declared in the scenario in order for this action action to be allowed must be pending for execution (line 6). to be performed: a join social action, join1 , and the agent The effect of performing the allow action is to explicitly cause to be played within the working group, s21 . These objects that the social action is permitted (9). The specification of the initially belong to the pool of objects which are available forbid speech act is similar to the one shown in listing 5. The for the planning process4 . Since the student is empowered to only major difference pertains to its post-condition, which in perform the join action but no permission rules are declared, this case resorts to the strong negation operator, i.e. the attempt to perform it results in a pending status. The next state features an attempt by agent s11 to allow the performance caused −p e r m i t t e d ( Act ) after of the join action, namely to perform action allow1 . Since this f o r b i d ( Forbid ) , perform ( Forbid ) , a c t i o n f ( F o r b i d , Act ) 4 Formally, these are objects which have no state, e.g. agents which are being neither played nor have been abandoned. agent is both empowered and permitted to perform that social knowledge of the society. This ad-hoc character tallies well action, the permissions to execute the join1 action are in effect with the natural language meaning of the corresponding En- in the next state. This, in turn, causes the performance of the glish speech act verbs [13]. join action and the consequent playing of the student agent The normative framework reported in this paper is part of within the working group. a larger research project aimed at the specification of a lan- STATE 0: state_a(s2,playing) state_i(wg1,open) guage for programming social applications [5], viz. software empowered(s2,join1) new_role(join1,s21) ... systems designed to support human interaction in arbitrary ACTIONS: attempt(join1,s2) STATE 1: state_sa(join1,pending) performer(join1,s2) social contexts. This broad class of target applications include empowered(s11,allow1) permitted(allow1) common online communities, but also other software systems action_a(allow1,join1) ... ACTIONS: attempt(allow1,s11) perform(allow1) deployed in more specialised settings such as business process STATE 2: state_sa(allow1,performed) management. This general goal partly explains some of the state_sa(join1,pending) performer(join1,a1) permitted(join1) ... features of the proposed normative framework, such as its bias ACTIONS: perform(join1) play_for(s21,s2,wg1) play(s21,wg1) towards regimentation. Current work focuses on extensions to STATE 3: state_a(s21,playing) player(s21,s2) context_a(s21,wg1) ... support commitments, an essential construct for many social application domains. V. D ISCUSSION ACKNOWLEDGMENT The model of empowerment and permission put forward The authors would like to thank the anonymous reviewers in this paper contrasts with other approaches based on ASP for their detailed comments. Research sponsored by the Spa- [3], [12], the event calculus [4] or action languages [2] in nish MICINN, project TIN2006-15455-C03-03. several respects. Firstly, the subjects of empowerments and/or permissions in these approaches are events which represent the R EFERENCES observable or institutional actions to be evaluated. Moreover, [1] A. J. I. Jones and M. J. Sergot, “A formal characterisation of institution- normative fluents are boolean so that these events are evaluated alised power,” Logic Journal of the IGPL, vol. 4, no. 3, pp. 427–443, in a single transition step either as permitted or prohibited. 1996. [2] A. Artikis, M. Sergot, and J. Pitt, “Specifying norm-governed compu- In contrast, permissions are applied in our framework to a tational societies,” ACM Transactions on Computational Logic, vol. 10, particular kind of social entity, viz. social actions, which no. 1, 2009. can be assigned a permitted and prohibited status, but also [3] O. Cliffe, M. D. Vos, and J. A. Padget, “Answer set programming for representing and reasoning about virtual institutions,” in CLIMA VII, ser. an unknown one. Thus, our framework does not force the Lecture Notes in Computer Science, K. Inoue, K. Satoh, and F. Toni, designer of the computational society to add a complete set Eds., vol. 4371. Springer, 2006, pp. 60–79. of permission rules. [4] N. Fornara and M. Colombetti, “Specifying artificial institutions in the event calculus,” in Handbook of Research on Multi-Agent Systems: Secondly, the strong negation operator allows the designer to Semantics and Dynamics of Organizational Models, V. Dignum, Ed. explicitly declare prohibition rules, whereas other approaches IGI Global, 2009, ch. 14, pp. 335–366. [5] J. M. Serrano and S. Saugar, “Run-time semantics of a language have to resort to the default “everything which is not per- for programming social processes,” in 9th International Workshop on mitted, is prohibited”, which may not always be adequate. In Computational Logic in Multi-Agent Systems (CLIMA IX), ser. Lecture particular, explicit prohibitions are very convenient in order Notes in Artificial Intelligence, M. Fisher, F. Sadri, and M. Thielscher, Eds., vol. 5405. Springer, 2009, pp. 37–56. to represent necessary conditions of permission rules. For [6] D. Grossi, Designing Invisible Handcuffs. SIKS Dissertation Series No. instance, the following rule states that a necessary condition 2007-16, 2007. to join some working group is that the deadline for submitting [7] M. Esteva, B. Rosell, J. A. Rodrı́guez-Aguilar, and J. L. Arcos, “AMELI: An agent-based middleware for electronic institutions,” in Proceedings the corresponding assignment has not passed yet: of the Third International Joint Conference on Autonomous Agents and caused −p e r m i t t e d ( J o i n ) if Multiagent Systems, vol. 1, 2004, pp. 236–243. [8] E. Giunchiglia, J. Lee, V. Lifschitz, N. McCain, and H. Turner, “Non- c o n t e x t s a ( J o i n ,W) , w o r k i n g g r o u p (W) , monotonic causal theories,” Artif. Intell., vol. 153, no. 1-2, pp. 49–104, a s s i g n m e n t (W, A) , d e a d l i n e (W, D) , 2004. c u r r e n t t i m e ( T ) , D