SCG Domain Specification Karl
Overview What needs to be provided – What GameProvider needs to provide to define a competition. – What each Scholar needs to provide to participate in competitions. – What Administrator needs to provide to run a competition. Each role adds to the functionality of the basic objects.
Objects used by all Game Scholar Problem Solution Niche Hypothesis RefutationProtocol StrengtheningProtocol RefutationOutcome = Refutation | Support. StrengtheningOutcome = Hypothesis | Refutation.
GameProvider cd for Problem (+ DemeterF defined interface) – Boolean semanticCheck() – Boolean conforms(Hypothesis) cd for Solution – Boolean correct(Problem) cd for Niche cd for Hypothesis – Boolean legal(Niche) – Boolean refuted(RefutationProtocol) – = Kind – Kind : EA | AE. cd for RefutationProtocol(Hypothesis) = – Problem – Solution cd for StrengtheningProtocol(Hypothesis)
Scholar Problem – Solution solve() Niche – Hypothesis propose() Hypothesis – Problem provide() – oppose RefutationOutcome refute() StrengtheningOutcome strengthen()
Administrator cd for Game – register(Scholar) – start() – delivers reports violations of game rules computes reputations and produces scholar ranking records history – invokes methods provided by GameProvider and Scholars.
game.cd Hypothesis = ProposedHypothesis | OpposedHypothesis. OpposedHypothesis = RefutedHypothesis | StrengthenedHypothesis ScholarID.
Extra slides