Aspect-Oriented Analysis and Design
|
|
- Jason Cummings
- 6 years ago
- Views:
Transcription
1 Aspect-Oriented Analysis and Design The Theme Approach Siobhán Clarke Trinity College Dublin BCS Advanced Programming SIG, 11 th May 2006
2 What s wrong with objects 1? Concerns that crosscut multiple parts of a system cannot be modularized 2
3 What s wrong with objects 2? Class modularization encapsulates multiple concerns 3
4 The Theme Approach Brief History Lesson! - Early 90 s: Subject-Oriented Programming - Symmetric view of decomposition Subject-Oriented Design : Subject-Oriented Design -> Theme/UML The Theme Process: - Theme/UML design - Theme/Doc requirements analysis 4
5 Overview Theme/Doc for analysis View relationships between concerns Theme/UML for design Model concerns separately 5
6 Theme/Doc find the themes select potential concerns from text R18 R21 R35 R37 R38 R40 R42 R61 R80 A new game will randomly distribute crystals around the game world If players do not reach their initial location in time, they lose one energy point Dropped crystals will be re-scattered throughout the game area Players lose energy at two units per five minute period in a game location If a player enters a location that has no players or characters in it, they may pick up any crystals or magical items there When a game starts, players gain 10 units of energy Energy is gained by two units when a player picks up a crystal entering a location When two players meet on entering a location, they perform a duel of rock paper scissors When a player completes a physical test challenge successfully they gain three units of energy and win a crystal 6
7 Theme/Doc find the themes select potential concerns from text R18 R21 R35 R37 R38 R40 R42 R61 R80 A new game will randomly distribute crystals around the game world If players do not reach their initial location in time, they lose one energy point Dropped crystals will be re-scattered throughout the game area Players lose energy at two units per five minute period in a game location If a player enters a location that has no players or characters in it, they may pick up any crystals or magical items there When a game starts, players gain 10 units of energy Energy is gained by two units when a player picks up a crystal entering a location When two players meet on entering a location, they perform a duel of rock paper scissors When a player completes a physical test challenge successfully they gain three units of energy and win a crystal 7
8 Theme/Doc graphing the relationships between the concerns legend concern requirement 8
9 Theme/Doc a look forward to the final goal R80 R77 R40 crosscutting themes (aspects) R42 TrackEnergy R41 R37 R21 R38 R61 R31 R52 R67 base themes enter-location R18 R15 R32 R16 duel R75 R24 start R98 9
10 Theme/Doc graphing the relationships between the concerns legend concern requirement 10
11 Theme/Doc getting there.. aspects (probably from shared requirements) R80 R77 R40 R21 TrackEnergy R37 R41 R38 If a player enters a location that has no players or characters in it, they may pick up R38 any crystals or magical items there R42 Energy is gained by two units when a player picks up a crystal entering a location enter-location R61 11
12 Theme/Doc getting there.. base themes R38 R61 Theme too general? split into smaller ones Themes too similar? unify synonyms, group Theme not really useful? delete it! Requirement orphaned? find a home Requirement ambiguous? resolve and refine R35 R52 R67 enter-location R14 R15 R32 R16 duel R75 R24 start R98 12
13 Theme/UML theme design process 13
14 Theme/UML model themes separately base themes with standard UML Start GameAdmin + newgame(string, int) Player - name : String - IPAddress : String + getlocation() + setgame() players 0..* gameworld Location gamelocations 1 + name + northeast : Coordinate + northwest : Coordinate + southeast : Coordinate + southwest : Coordinate 1..* 1 Vector throneroom 1 0..* activegames currentlocation Game - gameduration : int - name : String + setgamelocations(vector) + setthroneroom(location) 1 1 gamelocations EnterLocation Player - crystals : int + setlocation() + checkotherplayers() + takecrystals() + incrementcrystals() + takemagicitems() + setmagicitem() signals newlocation() duel() GPSComponent 1..* players game 1 Game + ingamelocation() + getotherplayers() signals leave(player) Location - crystals : int + takecrystals() + takemagicitems() 0..* 0..* + getcurrentgpslocation() MagicItem 14
15 Theme/UML model themes separately aspect themes with minor UML extensions track-energy < Energy.moveLocation(..) > < Energy.energyAction(..) > < Energy.joinGame(..) > Template parameters used to reason about triggers of behaviour in aspect theme - grouped by behaviour sequence within < > brackets 15
16 Theme/UML model themes separately aspect themes with minor UML extensions sd movelocation movelocation(..) :Energy _do_movelocation(..) :Game Distinguish between: - execution of base operation (_do_op()) and - execution of crosscutting behaviour (op()) Execution of real behavior alt [inlocation=true] isplayerinlocation() inlocation setchangeamount(2) Crosscutting behavior specified to happen after real behavior [inlocation=false] setchangeamount(1) 16
17 Theme/UML model themes separately aspect triggers with control flow restrictions sd restrictedtrigger :Class1 :Class2 op1(..) _do_op1(..) op2(..) control flow of _do_op1() before() _do_op2(..) op2() a trigger only within this control flow after() 17
18 Theme/UML model themes separately aspect themes arising from detailed design P2PCommunication P2PCommunication sd lstatechange <TPlayer.joinGame(..)> <TPlayer.pStateChange(..)> <TLocation.lStateChange(..)> <TGamesAdmin.newGameAdmin(..)> <TPlayer.joinGame(..)> <TPlayer.pStateChange(..)> <TLocation.lStateChange(..)> <TGamesAdmin.newGameAdmin(..)> «active» GamesAdmin - marshallactivegames() - unmarshallactivegames() signals checkgamesavailable() CrystalGamesAvailable(String) TGamesAdmin + newgameadmin() _do_newgameadmin() + start() l:tlocation game:game «active» lstatechange(..) Game _do_lstatechange(..) 0..* activegames players 1..* game 1 TPlayer sd pstatechange + pstatechange(..) - _do_pstatechange(..) p:tplayer + joingame(..) - _do_joingame(..) pstatechange(..) + getname() + marshallgame() marshallstate() + unmarshallgame() + unmarshalllocation() getname() + unmarshallplayer() signals locationinfo LocationUpdate(String) PlayerUpdate(String) game FullGameStateRequest(String) LocationUpdate(locationInfo) 1..* FullGameState(String) _do_pstatechange(..) 1..* TLocation locations + lstatechange(..) game:game - _do_lstatechange(..) :Game :Game sd LocationUpdate Location :Game :Location + marshallstate() + update(string) LocationUpdate(locInfo) unmarshalllocation(locinfo) Player + marshallstate() + update(string) alt [gamename= this.name] sd PlayerUpdate :Game update(string) :Player marshallstate() getname() playerinfo PlayerUpdate(pInfo) alt [gamename= this.name] unmarshallplayer(pinfo) update(string) PlayerUpdate(playerInfo) 18
19 Theme/UML theme composition process 19
20 Theme/UML compose themes Composition Relationship and base themes Start composition relationship: -merge match[name] Duel EnterLocation Player signals duel() composition relationship: - override Player - crystalsoffered : Boolean - crystals : int - wageraccepted : Boolean - wageragreed : Boolean - finishedreceived : Boolean - rockplayerscissors : String + getmagicitems() - duelloser() + addcrystals(int) + decrementcrystals(int) + addmagicitem(magicitem) + deletemagicitem(magicitem) - updaterps() signals initiateduel() magicselected(magicitem) wagertwocrystals() wagermagicitem(magicitem) wagertwomagicitems(..) wagercrystal() wageraccepted() duelrevealrps(player, String) Composition Relationship tags: - match[name] -nomatch - for conflict resolution -[prec] - reconcil[explicit[ {..} ]] - reconcil[default[type {..}]] - ordering sequence for op merge 20
21 Theme/UML compose themes Composition Relationship and aspect themes track-energy <Energy.moveLocation(..) > <Energy.energyAction(..)> <Energy.joinGame(..)> bind[ < Player.setLocation() > < Player.{incrementCrystals(), addcrystals(), completewizarderrand(), completewarriortest() } > < Player.joinGame() > ] game Binding base design elements to template parameters. 21
22 Map to AspectJ TrackEnergy Energy <Energy.moveLocation(..) > <Energy.energyAction(..)> <Energy.joinGame(..)> Game Game :Type templateop() _do_templateop() crosscuttingop() bind[ < Player.setLocation() > < Player.{incrementCrystals(), addcrystals(), completewizarderrand(), completewarriortest() } > < Player.joinGame() > ] Intertype Declarations Pointcuts Concrete Pointcuts Concrete Intertype Declarations Advice Concrete Aspect Abstract Aspect 22
23 Small flavour concrete aspect public aspect ConcreteTrackEnergy extends TrackEnergy { declare parents: Player implements EnergyEntityI; declare parents: Game implements GameI; pointcut movelocation(energyentityi energyentity): this(energyentity) && execution (* Player.setLocation(..)); pointcut energyaction(energyentityi energyentity): this(energyentity) && (execution (* Player.incrementCrystals(..)) execution (* Player.addCrystals(..)) execution (* Player.completeWarriorTest(..)) execution (* Player.completeWizardErrand(..))); } pointcut joingame(player player): this(player) && execution (* Player.joinGame(..)); 23
24 Map to CME - aspects TrackEnergy Energy <Energy.moveLocation(..) > <Energy.energyAction(..)> <Energy.joinGame(..)> Game Game :Type templateop() _do_templateop() crosscuttingop() bind[ < Player.setLocation() > < Player.{incrementCrystals(), addcrystals(), completewizarderrand(), completewarriortest() } > < Player.joinGame() > ] Track Energy Theme Package Compose-game.hl extend concern Game with TrackEnergyTheme; extend type BaseTheme: Player with TrackEnergyTheme: Energy; advise method BaseTheme:Player.setLocation(Location) with after:: TrackEnergyTheme: Energy.setChangeAmount();... Game Theme Package 24
25 Map to CME base Start Theme Package Player.java public class Player {... } Location.java public class Location { } GameAdmin.java public class GameAdmin { } Game.java public class Game { } Enter Location Theme Package Player.java public class Player {... public void duel(player p) { // stub } } Location.java public class Location { } Start ThemeName[ Game ] match[name] EnterLocation Player signals duel() Duel Player signals duel() CME Composition Specification Compose-game.hl merge concerns StartTheme, EnterLocationTheme, DuelTheme => Game; Player.java public class Player {... public void duel(player p) { } } MagicItem.java public class MagicItem { } Wager.java public class Wager { }... Game.java public class Game { } MagicItem.java public class MagicItem { }... override method EnterLocationTheme: Player.duel(Player) with DuelTheme: Player.duel(Player); 25
26 Theme publications Siobhán Clarke, Robert J. Walker. "Generic Aspect-Oriented Design with Theme/UML In Aspect-Oriented Software Development, Addison-Wesley, 2005 Elisa L.A. Baniassad, Siobhán Clarke. "Theme: An Approach for Aspect-Oriented Analysis and Design" In Proceedings of the 26th International Conference on Software Engineering (ICSE), Edinburgh, Siobhán Clarke. "Extending standard UML with model composition semantics" in Science of Computer Programming, Volume 44, Issue 1, pp Elsevier Science, July Siobhán Clarke, Robert J. Walker. "Towards a Standard Design Language for AOSD" In Proceedings of the 1st International Conference on Aspect-Oriented Software Development (AOSD), Enschede, The Netherlands, April Siobhán Clarke, Robert J. Walker. "Composition Patterns: An Approach to Designing Reusable Aspects" In Proceedings of the 23rd International Conference on Software Engineering (ICSE), Toronto, Canada, May Siobhán Clarke. "Composition of Object-Oriented Software Design Models Ph.D. Thesis, January 2001, Dublin City University. Siobhán Clarke. "Composing Design Models: An extension to the UML" In Proceedings of the Third International Conference on the Unified Modeling Language (UML), UK, Volume 1939, LNCS Siobhán Clarke, William Harrison, Harold Ossher, Peri Tarr. "Subject-Oriented Design: Towards Improved Alignment of Requirements, Design and Code" In Proceedings of Object-Oriented Programming, Systems, Languages and Applications (OOPSLA) Denver, Colorado U.S.,
27 and a plug! 27
28 Questions 28
Mapping Concern Space to Software Architecture: A Connector-Based Approach
Mapping Space to Software Architecture: A Connector-Based Approach Jing (Janet) Liu Dept. of Computer Science, Iowa State University 226 Atanasoff Hall, Ames, IA 50011 +1 (515) 294-2735 janetlj@cs.iastate.edu
More informationUML Extensions for Aspect Oriented Software Development
Vol. 8, No. 5, 2009 UML Extensions for Aspect Oriented Software Development Francisca Losavio, Universidad Central de Venezuela, Venezuela Alfredo Matteo, Universidad Central de Venezuela, Venezuela Patricia
More informationEditorial for the Special Issue on Aspects and Model-Driven Engineering
Editorial for the Special Issue on Aspects and Model-Driven Engineering Robert France 1 and Jean-Marc Jézéquel 2 1 Colorado State University, Fort Collins, Colorado, USA, france@cs.colostate.edu, 2 IRISA-Université
More informationIntroducing Security Aspects with Model Transformation
Introducing Security Aspects with Model Transformation Jorge Fox, Jan Jürjens Technische Universität München Boltzmannstraße 3 D-85748 Garching {fox,juerjens}@in.tum.de Abstract Aspect Oriented Programming
More informationEditorial: Aspect-oriented Technology and Software Quality
Software Quality Journal Vol. 12 No. 2, 2004 Editorial: Aspect-oriented Technology and Software Quality Aspect-oriented technology is a new programming paradigm that is receiving considerable attention
More informationGOALS TO ASPECTS: DISCOVERING ASPECTS ORIENTED REQUIREMENTS
GOALS TO ASPECTS: DISCOVERING ASPECTS ORIENTED REQUIREMENTS 1 A. SOUJANYA, 2 SIDDHARTHA GHOSH 1 M.Tech Student, Department of CSE, Keshav Memorial Institute of Technology(KMIT), Narayanaguda, Himayathnagar,
More informationAn Ontology for Modelling Security: The Tropos Approach
An Ontology for Modelling Security: The Tropos Approach Haralambos Mouratidis 1, Paolo Giorgini 2, Gordon Manson 1 1 University of Sheffield, Computer Science Department, UK {haris, g.manson}@dcs.shef.ac.uk
More informationSeparation of Concerns in Software Engineering Education
Separation of Concerns in Software Engineering Education Naji Habra Institut d Informatique University of Namur Rue Grandgagnage, 21 B-5000 Namur +32 81 72 4995 nha@info.fundp.ac.be ABSTRACT Separation
More informationSOFT 437. Software Performance Analysis. What is UML? UML Tutorial
SOFT 437 Software Performance Analysis UML Tutorial What is UML? Unified Modeling Language (UML) is a standard language for specifying, visualizing, constructing, and documenting the artifacts for software
More informationTowards Modeling of Data in UML Activities with the SPACE Method
Towards Modeling of Data in UML Activities with the SPACE Method An Example-Driven Discussion Nina Heitmann Master of Science in Communication Technology Submission date: June 2008 Supervisor: Peter Herrmann,
More informationDiscussion of Emergent Strategy
Discussion of Emergent Strategy When Ants Play Chess Mark Jenne and David Pick Presentation Overview Introduction to strategy Previous work on emergent strategies Pengi N-puzzle Sociogenesis in MANTA colonies
More informationRequired Course Numbers. Test Content Categories. Computer Science 8 12 Curriculum Crosswalk Page 2 of 14
TExES Computer Science 8 12 Curriculum Crosswalk Test Content Categories Domain I Technology Applications Core Competency 001: The computer science teacher knows technology terminology and concepts; the
More informationAnalysing UML 2.0 activity diagrams in the software performance engineering process
Analysing UML 2.0 activity diagrams in the software performance engineering process C. Canevet, S. Gilmore, J. Hillston, L. Kloul and P. Stevens Laboratory for Foundations of Computer Science, The University
More informationAn Overview of the Mimesis Architecture: Integrating Intelligent Narrative Control into an Existing Gaming Environment
An Overview of the Mimesis Architecture: Integrating Intelligent Narrative Control into an Existing Gaming Environment R. Michael Young Liquid Narrative Research Group Department of Computer Science NC
More informationRequirements Engineering Through Viewpoints
Requirements Engineering Through Viewpoints Anthony Finkelstein, Steve Easterbrook 1, Jeff Kramer & Bashar Nuseibeh Imperial College Department of Computing 180 Queen s Gate, London SW7 2BZ acwf@doc.ic.ac.uk
More informationarxiv: v1 [cs.cc] 12 Dec 2017
Computational Properties of Slime Trail arxiv:1712.04496v1 [cs.cc] 12 Dec 2017 Matthew Ferland and Kyle Burke July 9, 2018 Abstract We investigate the combinatorial game Slime Trail. This game is played
More informationUnderstanding Design Patterns Density with Aspects: A Case Study in JHotDraw using AspectJ
Understanding Design Patterns Density with Aspects: A Case Study in JHotDraw using AspectJ Simon Denier, Pierre Cointe To cite this version: Simon Denier, Pierre Cointe. Understanding Design Patterns Density
More informationOFFICIAL RULEBOOK. Version 6.0
ENGLISH EDITION OFFICIAL RULEBOOK Version 6.0 Table of Contents Table of Contents About the Game...................................... 1 1 2 Getting Started You Need These Things To Duel..........................
More informationChildren Maya Groher ( ) Languages German (mother tongue), English (fluent, written and spoken), French
CURRICULUM VITAE Assoz. Univ.-Prof. in Dr. in Iris Groher Altenberger Str. 69 A-4040 Linz +43 (0) 732 2468 4259 iris.groher@jku.at https://www.se.jku.at/iris-groher/ Coordinates Name Iris Groher Title
More informationGrundlagen des Software Engineering Fundamentals of Software Engineering
Software Engineering Research Group: Processes and Measurement Fachbereich Informatik TU Kaiserslautern Grundlagen des Software Engineering Fundamentals of Software Engineering Winter Term 2011/12 Prof.
More informationCo-evolution of agent-oriented conceptual models and CASO agent programs
University of Wollongong Research Online Faculty of Informatics - Papers (Archive) Faculty of Engineering and Information Sciences 2006 Co-evolution of agent-oriented conceptual models and CASO agent programs
More informationNINTENDO S SUPER SMASH BROS. ULTIMATE THE NINTENDO KIOSK OFFICIAL RULES
NINTENDO S SUPER SMASH BROS. ULTIMATE TOURNAMENT @ THE NINTENDO KIOSK OFFICIAL RULES 1. OVERVIEW: Event: Super Smash Bros. Ultimate tournament @ the Nintendo Kiosk (the Tournament ) Location: Nintendo
More informationG R AD E 4 UNIT 3: FRACTIONS - LESSONS 1-3
G R AD E UNIT : FRACTIONS - LESSONS - KEY CONCEPT OVERVIEW In these lessons, students explore fraction equivalence. They show how fractions can be expressed as the sum of smaller fractions by using different
More informationAssignment 1. Due: 2:00pm, Monday 14th November 2016 This assignment counts for 25% of your final grade.
Assignment 1 Due: 2:00pm, Monday 14th November 2016 This assignment counts for 25% of your final grade. For this assignment you are being asked to design, implement and document a simple card game in the
More informationLecture 14: Modular Programming
Review Lecture 14: Modular Programming Data type: set of values and operations on those values. A Java class allows us to define data types by:! Specifying a set of variables.! Defining a set of methods.
More informationBAFTA YGD Lesson plans
BAFTA YGD Lesson plans This is an overall suggested guide of how you may wish to structure your games development sessions for the BAFTA YGD Competition. These sessions are intended to help generate evidence
More informationCONCEPT. The king of Arkharis, the Land of Dragons, is a capricious man. Having no heirs,
CONCEPT The king of Arkharis, the Land of Dragons, is a capricious man. Having no heirs, he decided his successor would be chosen among the most infamous heroes of the kingdom. He challenged two heroes
More informationOFFICIAL RULEBOOK Version 7.2
ENGLISH EDITION OFFICIAL RULEBOOK Version 7.2 Table of Contents About the Game...1 1 2 3 Getting Started Things you need to Duel...2 The Game Mat...4 Game Cards Monster Cards...6 Effect Monsters....9 Synchro
More informationUsing Agent-Based Methodologies in Healthcare Information Systems
BULGARIAN ACADEMY OF SCIENCES CYBERNETICS AND INFORMATION TECHNOLOGIES Volume 18, No 2 Sofia 2018 Print ISSN: 1311-9702; Online ISSN: 1314-4081 DOI: 10.2478/cait-2018-0033 Using Agent-Based Methodologies
More informationOverview 1. Table of Contents 2. Setup 3. Beginner Walkthrough 5. Parts of a Card 7. Playing Cards 8. Card Effects 10. Reclaiming 11.
Overview As foretold, the living-god Hopesong has passed from the lands of Lyriad after a millennium of reign. His divine spark has fractured, scattering his essence across the land, granting power to
More informationFormal Magic Draw Rules An optional Supplement for the NERO 9 th Edition Formal Magic System January Version 3.0 Nero Kzoo
Formal Magic Draw Rules An optional Supplement for the NERO 9 th Edition Formal Magic System January 214 - Version 3. Nero Kzoo Formal Magic Draw Rules An optional Supplement for the NERO 9 th Edition
More informationBachelor Project Major League Wizardry: Game Engine. Phillip Morten Barth s113404
Bachelor Project Major League Wizardry: Game Engine Phillip Morten Barth s113404 February 28, 2014 Abstract The goal of this project is to design and implement a flexible game engine based on the rules
More informationProject Connect Four (Version 1.1)
OPI F2008: Object-Oriented Programming Carsten Schürmann Date: April 2, 2008 Project Connect Four (Version 1.1) Guidelines While we acknowledge that beauty is in the eye of the beholder, you should nonetheless
More informationAlaska Content and Performance Standards Science Grade: 4 - Adopted: Concepts of Life Science (SC1, SC2, SC3)
Main Criteria: Alaska Content and Performance Standards Secondary Criteria: Subjects: Science, Social Studies Grade: 4 Correlation Options: Show Correlated AK.C1. Alaska Content and Performance Standards
More informationCRYPTOSHOOTER MULTI AGENT BASED SECRET COMMUNICATION IN AUGMENTED VIRTUALITY
CRYPTOSHOOTER MULTI AGENT BASED SECRET COMMUNICATION IN AUGMENTED VIRTUALITY Submitted By: Sahil Narang, Sarah J Andrabi PROJECT IDEA The main idea for the project is to create a pursuit and evade crowd
More informationPervasive Services Engineering for SOAs
Pervasive Services Engineering for SOAs Dhaminda Abeywickrama (supervised by Sita Ramakrishnan) Clayton School of Information Technology, Monash University, Australia dhaminda.abeywickrama@infotech.monash.edu.au
More informationOFFICIAL RULEBOOK Version 8.0
OFFICIAL RULEBOOK Version 8.0 Table of Contents Table of Contents About the Game 1 1 2 Getting Started Things you need to Duel 2 The Game Mat 4 Monster Cards 6 Effect Monsters 9 Xyz Monsters 12 Synchro
More informationExplicit Domain Knowledge in Software Engineering
Explicit Domain Knowledge in Software Engineering Maja D Hondt System and Software Engineering Lab Vrije Universiteit Brussel, Belgium mjdhondt@vub.ac.be January 6, 2002 1 Research Areas This research
More informationThis game can be played in a 3x3 grid (shown in the figure 2.1).The game can be played by two players. There are two options for players:
1. bjectives: ur project name is Tic-Tac-Toe game. This game is very popular and is fairly simple by itself. It is actually a two player game. In this game, there is a board with n x n squares. In our
More informationUMLEmb: UML for Embedded Systems. II. Modeling in SysML. Eurecom
UMLEmb: UML for Embedded Systems II. Modeling in SysML Ludovic Apvrille ludovic.apvrille@telecom-paristech.fr Eurecom, office 470 http://soc.eurecom.fr/umlemb/ @UMLEmb Eurecom Goals Learning objective
More information1. HEROES OF THE STORM SOUTHEAST ASIA TEAM RULES AND REQUIREMENTS
1. HEROES OF THE STORM SOUTHEAST ASIA TEAM RULES AND REQUIREMENTS 1.1. Participation in the Southeast Asia Road to BlizzCon Qualifier. (e) (f) The Southeast Asia Road to BlizzCon Qualifier is a team-based
More informationCHASE THE FLUSH. Ante wager-- means a wager required by the game to initiate the start to the round of play.
CHASE THE FLUSH 1. Definitions The following words and terms, when used in the Rules of the Game of Chase the Flush, shall have the following meanings unless the context clearly indicates otherwise: Ante
More informationBMT 2018 Combinatorics Test Solutions March 18, 2018
. Bob has 3 different fountain pens and different ink colors. How many ways can he fill his fountain pens with ink if he can only put one ink in each pen? Answer: 0 Solution: He has options to fill his
More informationDesigning and programming an object-orientated chess program in C++
Designing and programming an object-orientated chess program in C++ Rhydian Windsor Student No: 9437658 School of Physics and Astronomy The University of Manchester PHYS30762&63762 Project Report May 2017
More informationSpecial Notice. Rules. Weiß Schwarz (English Edition) Comprehensive Rules ver. 2.01b Last updated: June 12, Outline of the Game
Weiß Schwarz (English Edition) Comprehensive Rules ver. 2.01b Last updated: June 12, 2018 Contents Page 1. Outline of the Game... 1 2. Characteristics of a Card... 2 3. Zones of the Game... 4 4. Basic
More informationRefinement and Evolution Issues in Bridging Requirements and Architectures
Refinement and Evolution Issues between Requirements and Product Line s 1 Refinement and Evolution Issues in Bridging Requirements and s Alexander Egyed, Paul Gruenbacher, and Nenad Medvidovic University
More informationLesson Plans Contents
2 Lesson Plans Contents Introduction... 3 Tuning... 4 MusicPlus Digital Checklist... 5 How to use MusicPlus Digital... 6 MPD Mnemonics explained... 7 Lesson 1 - Learn the Ukulele... 8 Lesson 2 - Strings...
More informationP a g e Realms v1.2 Copyright 2010 Ignazio Corrao
P a g e 1 P a g e 2 Siegfried, Snow White, D Artagnan, Red Riding Hood, and the other 12 Realms heroes are being reunited for one last great adventure. The Dark Lords have joined forces to completely conquer
More informationAchieving Desirable Gameplay Objectives by Niched Evolution of Game Parameters
Achieving Desirable Gameplay Objectives by Niched Evolution of Game Parameters Scott Watson, Andrew Vardy, Wolfgang Banzhaf Department of Computer Science Memorial University of Newfoundland St John s.
More informationHELPING THE DESIGN OF MIXED SYSTEMS
HELPING THE DESIGN OF MIXED SYSTEMS Céline Coutrix Grenoble Informatics Laboratory (LIG) University of Grenoble 1, France Abstract Several interaction paradigms are considered in pervasive computing environments.
More informationAlessandro Cincotti School of Information Science, Japan Advanced Institute of Science and Technology, Japan
#G03 INTEGERS 9 (2009),621-627 ON THE COMPLEXITY OF N-PLAYER HACKENBUSH Alessandro Cincotti School of Information Science, Japan Advanced Institute of Science and Technology, Japan cincotti@jaist.ac.jp
More informationUnit 5: Unified Software Development Process. 3C05: Unified Software Development Process USDP. USDP for your project. Iteration Workflows.
Unit 5: Unified Software Development Process 3C05: Unified Software Development Process Objectives: Introduce the main concepts of iterative and incremental development Discuss the main USDP phases 1 2
More informationMaryland State Lottery and Gaming Control Agency Standard Rules - Double Draw Poker
Table of Contents Chapter 1 Definitions.... 2 Chapter 2 - Double Draw Poker Tables.... 3 Chapter 3 Cards; Number of Decks.... 5 Chapter 4 Opening a Table for Gaming.... 6 Chapter 5 Shuffling and Cutting
More informationGAME COMPONENTS. Your ORIGINZ box contains:
GAME COMPONENTS This 20-page Rule Book 12 dividers Your ORIGINZ box contains: 264 cards (252 white-bordered and 12 black-bordered) divided into 12 pre-constructed, ready-to-play, Origin decks. Each Origin
More informationAn Exploratory Study of Design Processes
International Journal of Arts and Commerce Vol. 3 No. 1 January, 2014 An Exploratory Study of Design Processes Lin, Chung-Hung Department of Creative Product Design I-Shou University No.1, Sec. 1, Syuecheng
More informationLab 11: GoFirst and Nim 12:00 PM, Nov 19, 2017
CS17 Integrated Introduction to Computer Science Hughes Contents Lab 11: GoFirst and Nim 12:00 PM, Nov 19, 2017 1 Prologue 1 2 Game Theory 1 3 Game Signature 2 4 GoFirst, A Game Module 3 5 Nim, A Game
More information2012 Alabama Robotics Competition Challenge Descriptions
2012 Alabama Robotics Competition Challenge Descriptions General Introduction The following pages provide a description of each event and an overview of how points are scored for each event. The overall
More informationDragon Phoenix Games
Dragon Phoenix Games Game: Near and Far Developer: Ryan Laukat Publisher: Red Raven Games Year: 2017 Variant Developer: Harvey and Carlie Cornell Status: Released Version: 1.2 Date: 8/7/2017 Overview:
More informationDesign task: Pacman. Software engineering Szoftvertechnológia. Dr. Balázs Simon BME, IIT
Design task: Pacman Software engineering Szoftvertechnológia Dr. Balázs Simon BME, IIT Outline CRC cards Requirements for Pacman CRC cards for Pacman Class diagram Dr. Balázs Simon, BME, IIT 2 CRC cards
More informationA FORMAL METHOD FOR MAPPING SOFTWARE ENGINEERING PRACTICES TO ESSENCE
A FORMAL METHOD FOR MAPPING SOFTWARE ENGINEERING PRACTICES TO ESSENCE Murat Pasa Uysal Department of Management Information Systems, Başkent University, Ankara, Turkey ABSTRACT Essence Framework (EF) aims
More informationUsing the Object Oriented Paradigm to Model Context in Computer Go
Using the Object Oriented Paradigm to Model Context in Computer Go Bruno Bouzy Tristan Cazenave LFORI-IBP case 169 Université Pierre et Marie Curie 4, place Jussieu 75252 PRIS CEDEX 05, FRNCE bouzy@laforia.ibp.fr
More informationRECONFIGURABLE RADIO DESIGN AND VERIFICATION
RECONFIGURABLE RADIO DESIGN AND VERIFICATION September, 10, 2015 Vladimir Ivanov, LG Electronics Markus Mueck, Intel Corporation Seungwon Choi, Hanyang University DVCON 2015 Bangalore, India OUTLINE Reconfigurable
More informationSpecial Notice. Rules. Weiss Schwarz Comprehensive Rules ver Last updated: September 3, Outline of the Game
Weiss Schwarz Comprehensive Rules ver. 1.66 Last updated: September 3, 2015 Contents Page 1. Outline of the Game. 1 2. Characteristics of a Card. 2 3. Zones of the Game... 4 4. Basic Concept... 6 5. Setting
More informationALGEBRA 2 HONORS QUADRATIC FUNCTIONS TOURNAMENT REVIEW
ALGEBRA 2 HONORS QUADRATIC FUNCTIONS TOURNAMENT REVIEW Thanks for downloading my product! Be sure to follow me for new products, free items and upcoming sales. www.teacherspayteachers.com/store/jean-adams
More informationMLAG BASIC EQUATIONS Tournament Rules
MLAG BASIC EQUATIONS Tournament Rules 2017-18 I. Starting a Match (Round) A. Two- or three-player matches will be played. A match is composed of one or more shakes. A shake consists of a roll of the cubes
More informationArcade Game Maker Product Line Requirements Model
Arcade Game Maker Product Line Requirements Model ArcadeGame Team July 2003 Table of Contents Overview 2 1.1 Identification 2 1.2 Document Map 2 1.3 Concepts 3 1.4 Reusable Components 3 1.5 Readership
More informationLecture 6: Basics of Game Theory
0368.4170: Cryptography and Game Theory Ran Canetti and Alon Rosen Lecture 6: Basics of Game Theory 25 November 2009 Fall 2009 Scribes: D. Teshler Lecture Overview 1. What is a Game? 2. Solution Concepts:
More informationA Metamodeling Approach for Requirements Specification 1
A Metamodeling Approach for Requirements Specification 1 Elena Navarro Department of Computer Science, UCLM Avda. España S/N, Albacete, Spain Phone: +34 967 59 92 00 ext. 2461 enavarro@info-ab.uclm.es
More informationThe Mutator Pattern. Mirko Raner Parasoft Corporation
The Mutator Pattern Mirko Raner Parasoft Corporation mirko@parasoft.com ABSTRACT The Mutator pattern is a simple behavioral pattern that applies a series of successive modifications to a mutable object.
More informationAdventures. New Kingdoms
Adventures in the New Kingdoms Role Playing in the fallen empires of the Kale - Book 4 - Blood & Combat version 1.0 (Wild Die 48hr Edition) 2009 Dyson Logos Adventures in the New Kingdoms Book 4 Page 1
More informationLET IT RIDE POKER. Stub-- means the remaining portion of the deck after all cards in the round of play have been dealt or delivered.
LET IT RIDE POKER 1. Definitions The following words and terms, when used in this section, shall have the following meanings unless the context clearly indicates otherwise: Community card-- means any card
More informationUSER MANUAL Universal Gateway U9921-GUV (P/N: 40994G-01)
USER MANUAL Universal Gateway U9921-GUV (P/N: 40994G-01) 2012 DAVID CLARK COMPANY INCORPORATED Cautions and Warnings READ AND SAVE THESE INSTRUCTIONS. Follow the instructions in this installation manual.
More informationFAST ACTION HOLD EM. Copy hand-- means a five-card hand of a player that is identical in rank to the five-card hand of the dealer.
FAST ACTION HOLD EM 1. Definitions The following words and terms, when used in this section, shall have the following meaning unless the context clearly indicates otherwise: Community card-- means any
More informationProgram Testing and Analysis: Symbolic and Concolic Testing (Part 2) Dr. Michael Pradel Software Lab, TU Darmstadt
Program Testing and Analysis: Symbolic and Concolic Testing (Part 2) Dr. Michael Pradel Software Lab, TU Darmstadt 1 Warm-up Quiz What does the following code print? var sum = 0; var array = [11, 22, 33];
More informationAn MDA -based framework for model-driven product derivation
An MDA -based framework for model-driven product derivation Øystein Haugen, Birger Møller-Pedersen, Jon Oldevik #, Arnor Solberg # University of Oslo, # SINTEF {oysteinh birger}@ifi.uio.no, {jon.oldevik
More informationWyoming Content and Performance Standards Science Grade: 4 - Adopted: 2009
Main Criteria: Wyoming Content and Performance Standards Secondary Criteria: Subjects: Science, Social Studies Grade: 4 Correlation Options: Show Correlated Wyoming Content and Performance Standards Science
More informationDEVELOPMENT OF A ROBOID COMPONENT FOR PLAYER/STAGE ROBOT SIMULATOR
Proceedings of IC-NIDC2009 DEVELOPMENT OF A ROBOID COMPONENT FOR PLAYER/STAGE ROBOT SIMULATOR Jun Won Lim 1, Sanghoon Lee 2,Il Hong Suh 1, and Kyung Jin Kim 3 1 Dept. Of Electronics and Computer Engineering,
More informationGrading Delays. We don t have permission to grade you (yet) We re working with tstaff on a solution We ll get grades back to you as soon as we can
Grading Delays We don t have permission to grade you (yet) We re working with tstaff on a solution We ll get grades back to you as soon as we can Due next week: warmup2 retries dungeon_crawler1 extra retries
More information2. A separate designated betting area at each betting position for the placement of the ante wager;
Full text of the proposal follows: 13:69E-1.13Y High Card Flush; physical characteristics (a) High Card Flush shall be played at a table having betting positions for no more than six players on one side
More informationWarlords - Crystals of Power Game Rules. Random Overlay Wild. Scatter
Warlords - Crystals of Power Game Rules Warlords - Crystals of Power is a 5-reel, 3-row, 30-line (fixed) video slot featuring Wild substitutions, stacked symbols, symbols, Re-Spins, and a Random Wild.
More informationDUEL MASTERS DCI FLOOR RULES Effective August 6, 2004
DUEL MASTERS DCI FLOOR RULES Effective August 6, 2004 Introduction The Duel Masters DCI Floor Rules work in conjunction with the DCI Universal Tournament Rules (UTR), the DCI Penalty Guidelines, and the
More informationChapter 1:Object Interaction with Blueprints. Creating a project and the first level
Chapter 1:Object Interaction with Blueprints Creating a project and the first level Setting a template for a new project Making sense of the project settings Creating the project 2 Adding objects to our
More informationGENERIC MODELLING USING UML EXTENSIONS FOR QUEENS CHALLENGE PUZZLE GAME FROM 1 TO 25 LEVELS SYSTEM
GENERIC MODELLING USING UML EXTENSIONS FOR QUEENS CHALLENGE PUZZLE GAME FROM 1 TO 25 LEVELS SYSTEM Hussain Mohammad Abu-Dalbouh, Ghadeer AlJibreen and NehalAlDowighri Qassim University, Computer Science
More informationGame Board Project. This project will require you to create a game board that includes story elements.
Game Board Project This project will require you to create a game board that includes story elements. Requirements: 1. Complete the Game Board Planning Sheet. Turn these sheets in with your game board.
More informationToward Adaptation and Reuse of Advanced Robotic Software
2011 IEEE International Conference on Robotics and Automation Shanghai International Conference Center May 9-13, 2011, Shanghai, China Toward Adaptation and Reuse of Advanced Robotic Software Christopher
More informationMutiny Anyone? Counters. Objective. Setup. Order of Play. Card Types. Victory
Objective @vicarious_games vicariousgames.weebly.com Mutiny Anyone? The goal is earn 10 victory points ( ) through sailing to islands, appeasing crew, and drawing action cards. Dialogue and deal-making
More informationSupport Notes (Issue 1) September Certificate in Digital Applications (DA104) Game Making
Support Notes (Issue 1) September 2016 Certificate in Digital Applications (DA104) Game Making Platformer Key points for this SPB The DA104 SPB 0916 is valid for moderation in June 2017, December 2017,
More informationScenarios will NOT be announced beforehand. Any scenario from the Clash of Kings 2018 book as well as CUSTOM SCENARIOS is fair game.
Kings of War: How You Use It - Origins 2018 TL;DR Bring your dice / tape measure / wound markers / wavering tokens No chess clocks strict 1 hour time limits Grudge Matches 1 st round Registration Due to
More informationPOKER TOURNAMENT DIRECTORS ASSOCIATION
POKER TOURNAMENT DIRECTORS ASSOCIATION 2011 Rules Version 2.0, Sept. 22, 2011 The Poker TDA is comprised of poker room personnel from around the world whose objective is to draft a standardized set of
More informationVectrex Dark Tower. The games are as follows: Skill Level Keys Provided. Vectrex Dark Tower
Vectrex Dark Tower The Dark Tower Vectrex game (circa 1983) was based on the electronic board game of the same name, but never commercially released. A single prototype was found, and an image of the ROM
More informationART LESSONS IN THE CLASSROOM SIXTH GRADE-LESSON #3
SIXTH GRADE-LESSON #3 DESCRIPTION OF PROJECT: Students make a textile collage to illustrate a narrative beginning, middle or end event. PROBLEM TO SOLVE: How can imagery communicate a sequence of events?
More informationIntroduction to Game Theory
Introduction to Game Theory Managing with Game Theory Hongying FEI Feihy@i.shu.edu.cn Poker Game ( 2 players) Each player is dealt randomly 3 cards Both of them order their cards as they want Cards at
More informationCandidate Instructions
Create Software Components Using Java - Level 2 Assignment 7262-22-205 Create Software Components Using Java Level 2 Candidates are advised to read all instructions carefully before starting work and to
More informationThe DSS Synoptic Facility
10th ICALEPCS Int. Conf. on Accelerator & Large Expt. Physics Control Systems. Geneva, 10-14 Oct 2005, PO1.030-6 (2005) The DSS Synoptic Facility G. Morpurgo, R. B. Flockhart and S. Lüders CERN IT/CO,
More informationMidterm 2 6:00-8:00pm, 16 April
CS70 2 Discrete Mathematics and Probability Theory, Spring 2009 Midterm 2 6:00-8:00pm, 16 April Notes: There are five questions on this midterm. Answer each question part in the space below it, using the
More informationMulti-Robot Coordination. Chapter 11
Multi-Robot Coordination Chapter 11 Objectives To understand some of the problems being studied with multiple robots To understand the challenges involved with coordinating robots To investigate a simple
More informationANGLO-CHINESE JUNIOR COLLEGE MATHEMATICS DEPARTMENT. Paper 2 26 August 2015 JC 2 PRELIMINARY EXAMINATION Time allowed: 3 hours
ANGLO-CHINESE JUNIOR COLLEGE MATHEMATICS DEPARTMENT MATHEMATICS Higher 9740 / 0 Paper 6 August 05 JC PRELIMINARY EXAMINATION Time allowed: 3 hours Additional Materials: List of Formulae (MF5) READ THESE
More informationM14/5/MATME/SP1/ENG/TZ1/XX MATHEMATICS STANDARD LEVEL PAPER 1. Candidate session number. Tuesday 13 May 2014 (afternoon) Examination code
M4/5/MATME/SP/ENG/TZ/XX MATHEMATICS STANDARD LEVEL PAPER Tuesday 3 May 04 (afternoon) hour 30 minutes Candidate session number Examination code 4 7 3 0 3 INSTRUCTIONS TO CANDIDATES Write your session number
More informationYour first round: Game W / L / T R / P / S
1 2 3 4 5 4 3 2 1 RULES: 1) Play until someone wins 2 times in rounds 1-4. 2) ROUND 5: Play until someone wins 3 times. 3) Record your wins, losses and ties for your first matchup in the table below. 4)
More informationBEGINNING BRIDGE Lesson 1
BEGINNING BRIDGE Lesson 1 SOLD TO THE HIGHEST BIDDER The game of bridge is a refinement of an English card game called whist that was very popular in the nineteenth and early twentieth century. The main
More information