Upload
donald-hopkins
View
217
Download
4
Embed Size (px)
Citation preview
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– 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.
Extra slides