Annotation Interface Norm


Defines a social norm (obligation, prohibition, or permission) for a role.

Norms extend BDI agents with deontic logic, specifying what agents MUST, MAY, and MUST NOT do in social contexts.

Usage


 @Norm(type = NormType.OBLIGATION,
       condition = "task.priority == 'CRITICAL'",
       action = "notifyHuman",
       description = "Must notify human for critical tasks")
 public class EmergencyRole extends Role { }

 @Norm(type = NormType.PROHIBITION,
       condition = "context.confidential == true",
       action = "shareWithExternalAgent",
       description = "Must not share confidential data externally")
 public class DataHandlerRole extends Role { }
 
See Also:
  • Required Element Summary

    Required Elements
    Modifier and Type
    Required Element
    Description
    The action this norm applies to.
    The type of norm (obligation, prohibition, or permission).
  • Optional Element Summary

    Optional Elements
    Modifier and Type
    Optional Element
    Description
    The condition expression under which this norm is active.
    Human-readable description of the norm.
    int
    Priority when norms conflict (higher = more important).
  • Element Details

    • type

      NormType type
      The type of norm (obligation, prohibition, or permission).
    • condition

      String condition
      The condition expression under which this norm is active. When empty, the norm is always active.
      Default:
      ""
    • action

      String action
      The action this norm applies to.
    • description

      String description
      Human-readable description of the norm.
      Default:
      ""
    • priority

      int priority
      Priority when norms conflict (higher = more important).
      Default:
      0