80 likes | 158 Views
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.
E N D
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 • Kind : EA | AE. • cd for RefutationProtocol(Hypothesis) = • <provided> Problem • <solved> 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 <opposer> ScholarID.