Concern requirements list using MDSOCRE notation. Here we show how the concrete concerns of our domain are expressed with the MDSOCRE approach. A slot machines have 5 reels. Reels spin when play button is pressed. Prizes are awarded according to a pay table. A slot machine has one or more devices for entering money. As money is inserted credits are "assigned" to the player. A slot machine must provide means for cashing the credits out. It could be a ticket printer, a coin hopper. Credit meter: shall at all times indicate all credits or cash available for the player to wager or cashout (GLI 11 4.10.1) Credit Meter Incrementing: The value of every prize (at the end of a game) shall be added to the player's credit meter. The credit meter shall also increment with the value of all valid coins, tokens, bills, Ticket/Vouchers, coupons or other approved notes accepted. (GLI 11 4.10.5) Accounting Meters (GLI 11 4.10.9): Coin In: a meter that accumulates the total value of all wagers [...]. Games-played: accumulates the number of games played; since power reset, since door close and since game initialisation. Meters should be updated upon occurrence of any event that must be counted, including: play, cashout, bill in, coin in. Information on at least the last ten (10) games is to be always retrievable on the operation of a suitable external key-switch, or another secure method that is not available to the player. Last play information shall provide all information required to fully reconstruct the last ten (10) plays. All values shall be displayed; including the initial credits, credits bet, and credits won, payline symbol combinations and credits paid whether the outcome resulted in a win or loss. This information should include the final game outcome, including all player choices and bonus features. The G2S protocol is designed to communicate information between a SM, and one or more host systems. Meters within the G2S protocol: Each device is metered separately. Meters are always available on a device-by-device basis. (G2S 1.16) Some G2S meters are: gamesSinceInitCn Number of games since initialisation. WonCnt: Number of primary games won by the player. LostCnt: Number of primary games lost by the player Important events must be reported in real-time, including: error conditions, tickets inserted, ticket printed. The PCP communicates a SM with a host system. It must report all meters of a SM. Important events must be reported in real-time, including: error conditions, tickets inserted, ticket printed. After a program interruption (e.g., processor reset), the software shall be able to recover to the state it was in immediately prior to the interruption occurring. Restoring Power. If a gaming device is powered down while in an error condition, then upon restoring power, the specific error message shall still be displayed and the gaming device shall remain locked-up. A SM must store all meter information in persistent memory. (G2S 1.16) Gaming devices shall be capable of detecting and displaying error conditions and illuminate the tower light for each or sound an audible alarm. Error conditions should cause the gaming device to lock up and require attendant intervention. Error conditions shall be cleared either by an attendant or upon initiation of a new play sequence after the error has cleared except for those deemed as a critical error. Error conditions are: coin jam, reverse coin in, stacker full, bill jam, external doors open. Video based games shall display meaningful text as to the error conditions. Error conditions shall be communicated to an on-line monitoring and control system when this is available. The Slot Machine must permit a a test, diagnostic or demo mode, which permits gaming device (e.g., a hopper test) shall be completed on resumption of normal operation. If the gaming device is in a test, diagnostic or demo mode, any test that incorporates credits entering or leaving the gaming device (e.g., a hopper test) shall be completed on resumption of normal operation. There shall not be any mode other than normal operation (ready for play) that increments any of the electronic meters. Any credits on the gaming device that were accrued during the test, diagnostic or demo mode shall be automatically cleared before the mode is exited. Specific meters are permissible for these types of modes provided the meters indicate as such (GLI 11 4.17.1). The main cabinet door of the gaming device may automatically place the gaming device in a service or test/diagnostic mode. Test/diagnostics mode may also be entered, via an appropriate instruction, from an attendant during an audit mode access. These modes should not be accessible to the player (GLI 11 4.17.2). When exiting from test-diagnostic mode, the game shall return to the original state it was in when the test mode was entered (GLI 11 4.17.3). Test Games. If the device is in a game test mode, the machine shall clearly indicate that it is in a test mode, not normal play (GLI 11 4.17.4). ==== Composition rules ==== Composition rules are used to express crosscutting relationships. Here we show the composition rules, consisting of a Constraint tag that defines how the base requirements are constrained by aspectual requirements. The Constraint tag has actions, operators and outcome elements, used to express in detail how the base is affected. 1. Demo to Game: The demo requirements affect many of the definitions of the original requirements of Game, in order to alter the Game's behaviour for testing purposes. 2. Game Recall to Game: Game Recall requirements affect many aspects of the Game's behaviour, its requirements call for recording pieces of information regarding game play. 3.Meters to Game: Meters count activities of many functions defined in Game's requirements, for instance: game play, bill in, cashout, etc. and 10.Dependency of G2S on Meters: Some data reported to the RS is stored or can be derived from meters. G2S needs the meters to be up to date in order to accomplish its purpose. 4.Program resumption to Game. Program resumption is analogous to persistence. It crosscuts all the places where important data, which needs to be restored, is changed. 5.G2S to Game: this concern cut across many Game's requirements, since several events in Game need to be reported, monitored and communicated to reporting system. 6.Error Conditions to Game: Requirements in Game that could raise an error condition vary: from a bill inserted to a door opened. 7.Proprietary Protocol to Game: This refers to another protocol used for the same purpose as G2S, that is to monitor the game's behaviour. 11.Mutex between G2S and Proprietary Protocol: There is overlapping functionality defined in the requirements of both protocols and they cannot be active at the same time. 12.Reinforcement of G2S with Error Conditions: Some parts of the G2S protocol are not mandatory for specific instances. When error conditions are tracked in the game, additional behaviour is made available in G2S, such as real time event reporting.