Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Initial Architectural Design (Game Architecture)


Published on

Initial Architectural Design

Published in: Education
  • Be the first to comment

Initial Architectural Design (Game Architecture)

  1. 1. Initial Architecture Design
  2. 2. 5.1 Introduction o Architecture begins at the outset of any software activity and not a phase of development o The solution (design) and structure (architecture) are equally important for any product development. o Architecture refers to the conceptual design of software development, the key abstraction that form the initial design.
  3. 3. 5.2 Architectural Styles o Architectural style are basically lessons learnt from experience in software system design. o The Architectural style reflect less domain knowledge than architectural patterns, and hence are more broadly applicable. o It is a collection of architectural decisions that are applicable in given development context along with the constraints specific to a particular system within the context. o The resulting system elicits the beneficial qualities of the architectural design. o The most popular architectural style are given as follows.
  4. 4. 5.2.1 Traditional language based style • Main program and subroutine are component and procedure calls are connector • Data elements are passed in and out of subroutines • Benefits of this style is modularity • Small programs can use this style • Ex: 1st component gets throttle setting(burn rate) input from user for pilot. 2nd is simulator that translates throttle setting i/p into burn rate in order to control the engine. 3rd display updated state.
  5. 5. 5.2.2 Object oriented style • Objects that encapsulate functions and data form the component • Objects are instantiated before methods are called • Method invocation (procedure call that changes the state of the object) is the connector • The arguments to these methods are data elements • The benefit is the integrity of data operations • Applications involving complex, dynamic data structures can use this style • Three components here are GUI, spacecraft, and environment simulator
  6. 6. • Layered Style o Here architecture separated into ordered layers o A program or component in one layer can obtain services from the layer below it o It could be in virtual machine style or client server style o This style used for developing operating systems and network protocol stack o
  7. 7. 5.2.3 Client Server style • It is similar to virtual machines, but contains only two layers with network connections • Clients makes request to the server via remote procedure calls(RPC) • Multiple clients can access the same server; and server provides the requisite service for each client • Client are mutually independent • If a client performs more than user interface functions, it is called a “thick” client, else known as a “thin” client
  8. 8. 5.2.4 Data flow style o This style concerned with the movement of data between processing elements o This includes batch sequential and “pipe and filter” styles o The batch sequential style mostly used in business application where some processing has to be done on large datasets, and is not suited for most games development o In pipe and filter style streams of character data are passed from one filter program to another
  9. 9. 5.2.5 Shared style  Also known as rule based/expert system style  Shared memory is a knowledge base, i.e. a database with facts and production rules which consists of “if…then” clauses over a set of variable  The user can input facts and production rules, and also query the database  An inference engine operates on the knowledge base in response to the user input  In interface engine parses the user input, and if it finds the input to be a fact or production rule then it adds that to the database  Benefits of this style is that rules can be added or deleted from database dynamically  for lunar lander problem, the rule based style requires a database of all facts about the spacecraft  The physics model can determine the state of the spacecraft
  10. 10. 5.2.6 Interpreter style • It executes the command dynamically one at a time, whereas the mobile code style involves the execution of one chunk of code at a time • In this style, the commands are more general like Excel macros • Many graphical editing programs are interpreter-based • The interpreter interprets the program and issues drawing commands to the graphics engine • Mobile code style transmits the code to a remote host machine for interpretation • There can be various reasons for doing so: – Lack of computing power – Lack of resources (e.g. interpreter) – Large datasets that are remotely located – Mobile code can be of three different categories (depending on who requests the transmission, where it is transmitted and where the state is stored) 1. Code on demand has resource and state locally, but downloads code from remote host and executes locally 2. Remote evaluation is similar to grid computing  The initiator has the code, but lacks resources  so the code is sent to remote host for processing and the result is sent back to initiator  Mobile agent has code and state available on local machine, but lack some of the resources  hence code, state and some resources move to remote host where it is processed along with the remote host resource; and the processed data need not be sent back to the initiator  Use of this style is when processing is to be done on large datasets in distributed locations
  11. 11. 5.2.7 Implicit invocation 1. Push model 2. Pull model
  12. 12. 5.2.8 Peer-to-peer(P2P) style o Peers are loosely connected, each acting both as a client and as a server
  13. 13. 5.3 The tier system o Software architects decides about what goes into each layer (tier) and logical verses physical separation o Layers resides on the same machine, having same runtime (JVM) and any object in one layer can be passed to another by value or by reference o The tier could be on different machines or on different runtimes, hence the data has to be passed by value only 5.3.1 Tier Zero 5.3.2 Tier one and above
  14. 14. 5.4 Architecture Design – Architecture embodies is unifying concept and principle in its components and their relationship to each other and to the environment. – A conceptual framework is needed to establish the terms and concepts and serve as a basic for evolution. – Architectural description is a collection of documents, takes into account the stakeholder’s viewpoint and concerns. – Consistency among the architectural viewpoint has to be checked. – Architectural environment is concern with developmental, programming and operational context of the system.
  15. 15. 5.5 Applying tier based approach to architecture design