Skip to content

Locution Rules

thomasGodfrey edited this page Jun 7, 2024 · 1 revision

Moves

  • (P) = Proponent
  • (O) = Opponent

Propose a requirement (P,O):

  • ProposeRequirement(r) propose a requirement r
  • Effect: r is added to the theory store

Attack on requirement (O):

  • AttackRequirement(r, t) assert that r is not valid as a consequence of some theory t
    • where t may be (from assurance cases paper):
      • r is not relevant w.r.t current knowledge
      • r has already been answered
      • r is being proposed by unsuitable domain experts/ stakeholders
      • r was developed from invalid methods
    • Effect: add t to the theory store referencing r;

Defence by redefining requirement (P):

  • RedefineRequirement(r, r’) Redefine r to be replaced with r’
  • NOTE: This is a move that can be made before a model is even proposed
    • Effect: r is replaced with r’ in the theory store;

Retract a requirement (P):

  • RetractRequirement(r) Retract requirement r in acknowledgement that r is not valid
    • Effect: r (and any associated t) are removed from the theory store;

Support a requirement (P):

  • SupportRequirement(r, t) Support requirement r with theory t
    • Effect: t is added to the theory store with a support relation to r;

Propose a model (P):

  • ProposeModel(m, r) propose a model m that satisfies requirement r
    • Effect: m is added to the theory store, referencing r;

Support model (P):

  • SupportModel(m, t) assert that model m is valid due to theory t **
    • Effect: Add t with support relation to m in the theory store;

Replace a model (P):

  • ReplaceModel(m, m’, r) replace model m with model m’ that satisfies existing requirement r
    • Effect: m is removed from the theory store; m’ is added to the theory store; referencing requirement r;
    • Can only be made if there are existing unresolved attacks on m and the new m’ must reference all existing r

Counter model (O):

  • CounterModel(m, e, r) assert a counter-experiment e that contradicts the fact that model m satisfies requirement r
    • Effect: add e to the theory store, attacking both m and r;

Attack model (O):

  • AttackModel(m, t) assert that model m is not correct as a consequence of theory t
    • Examples of t:
      • m should use stochastic modelling
      • m should use deterministic modelling
      • m should be agent-based
      • m should use a macro approach
      • m should use discrete time steps
      • m should be event-based
    • Effect: add t to the theory store attacking m

Defence by supporting model (P,O):

  • DefendModel(m, t, t’) assert that model m is valid due to theory t*’ in response to theory t*
    • Effect: t’ replaces t in the theory store;

Defence by modifying requirement (P):

  • ReviseRequirement(m, r, r’, e) assert a new requirement r’ that replaces r. Assert m meets r’ by providing experiment e as evidence.
    • Effect: remove r from the theory store; add r’ to the theory store. e is added to the theory store, **referencing both m and r’;

Propose an experiment (P)

  • ProposeExperiment(m, e, r) propose an experiment e that proves model m satisfies r
    • Effect: e is added to the theory store, referencing both m and r;

Support experiment (P,O):

  • SupportExperiment(e, t) assert that experiment e is valid due to theory t **
    • Effect: Add t with a support relation to e in the theory store;

Attack on experiment (P,O):

  • AttackExperiment(e, t) assert that experiment e is not valid due to theory t
  • Examples of t:
    • the sampling technique in t is incorrect
    • your random number generator is shown to be biased
    • v is added to the theory store, referencing e;
  • Effect: remove e (and any supporting t) from the theory store

Attack on Theory (P,O):

  • AttackTheory(t, t’) assert that theory t is not valid due to counter theory t’
    • Effect: add t’ with a conflict relation to t to the theory store

Defence by supporting experiment (P,O):

  • DefendExperiment(e, t, t’) assert that experiment e is valid due to theory t*’ in response to theory t*
    • Effect: t’ replaces t in the theory store;

Support experiment with new theory (P,O):

  • SupportExperiment(e, t) support the validity of experiment e with theory t
    • Effect: t is added to the theory store referencing e;

Retract an experiment (P,O):

  • RetractExperiment(e) retract experiment e
    • e is removed from the theory store;

End dialogue (P):

  • StudyDone() end the dialogue (until another attack is made by the opponent)
    • Effect: no effect - effectively end the dialogue

I am not convinced (O):

  • NotConvinced(m) : The opponent concedes the argument without full confidence in the current state of the theory store.
    • We can implement different semantics for whether a proponent is allowed to call StudyDone() if an opponent has called not convinced
    • Effect: Add a `no-confidence' element to the theory store attacking m