Version 1.0

Version used in JaCaMo 1.0 (using cartago 3.0)

Version 0.12

  • use graphviz implemented in Java

  • moise light (see examples folder)

Version 0.11

  • the norm id used to create obligations is added as an annotation in the obligation, as well as the unifier. For instance, a belief related to current obligations in Jason is:

    obligation(
        carol,                                  // who
        not well_formed(sch1),                  // maintenance condition
        committed(carol,mColaborator,sch1),     // what
        1492601349568)                          // deadline
        [...,norm(n3,[...,["S",sch1],["V",0],["Gr",mypaper]])]. // norm

    the norm was n3 and variable S (from the activation condition) value was sch1.

Version 0.10

  • The normative specification accepts "pure" NPL programs. E.g.

    ...
    <normative-specification>
        <norm id = "n1" type="permission" role="editor" mission="mManager" />
        ...
    
        <npl-norms>
            a :- t & k.
            norm npl1: a & v(X) -> obligation(bob,true,g(X),`now`+`1 day`).
            norm npl2: a & b    -> fail(test).
        </npl-norms>
    ...

    See examples/test/norm-board/t3.jcm for an example.

  • new artifact: OrgBoard. It manages all artifacts of an organisation. Main operations are (see javadoc for more details):

    • createGroup, destroyGroup

    • createScheme, destroyScheme

  • new artifact: NormativeBoard. It can be loaded with any NPL program and is used to manage obligations/permissions defined in the normative specification (which is not managed by SchemeBoard anymore). When a group becomes responsible for a scheme, an instance of this artifact is created automatically.

  • new observable property for SchemeBoard:

    • goalArgument(schemeId, goalId, argId, value): added only if the argument has a value, usually defined by the operation setArgumentValue.

  • new operation to change the cardinality of roles, mission …​. for a running group/scheme. E.g.

    // in some plan of some agent
    admCommand(setCardinality(role,editor,0,10));
    admCommand(setCardinality(role,writer,0,20));
    
    lookupArtifact("s1", SId); // get artifact id of scheme "s1"
    admCommand(setCardinality(mission,mColaborator,0,3))[aid(SId)];
    admCommand(setCardinality(mission,mManager,0,2))[aid(SId)];

    Only the owner of the group/scheme can perform admCommands.

  • default type of goals is performance

    • norms for performance goals have done(Sch,Goal,Ag) as the what,

    • while achievement goals have satisfied(Sch,Goal) as the what

  • permissions are perceived by the agents (with the same arguments as obligations)

  • use NPL prohibitions when we don’t want to regiment some property (like role cardinality). See normative specification of examples/writePaper/wp-os.xml.

  • the group and scheme boards initialization have only the first two parameters (the xml file and the type). The last two boolean parameters were removed and a new operation debug added. Parameters for the debug operation are:

    • inspector_gui(on): opens the GUI window with the current state of the artifact

    • inspector_gui(off): closes

  • move to gradle

  • move to GitHub

Version 0.9

  • last version at source forge