initial architectural design (game architecture)

18
Initial Architecture Design

Upload: rajkumar-pawar

Post on 16-Jul-2015

391 views

Category:

Education


1 download

TRANSCRIPT

Page 1: Initial Architectural Design (Game Architecture)

Initial Architecture Design

Page 2: Initial Architectural Design (Game Architecture)

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.

Page 3: Initial Architectural Design (Game Architecture)

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.

Page 4: Initial Architectural Design (Game Architecture)

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.

Page 5: Initial Architectural Design (Game Architecture)

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

Page 6: Initial Architectural Design (Game Architecture)

• Layered Styleo 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

Page 7: Initial Architectural Design (Game Architecture)

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

Page 8: Initial Architectural Design (Game Architecture)

5.2.4 Data flow styleo 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

Page 9: Initial Architectural Design (Game Architecture)

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

Page 10: Initial Architectural Design (Game Architecture)
Page 11: Initial Architectural Design (Game Architecture)

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

Page 12: Initial Architectural Design (Game Architecture)
Page 13: Initial Architectural Design (Game Architecture)

5.2.7 Implicit invocation

1. Push model

2. Pull model

Page 14: Initial Architectural Design (Game Architecture)

5.2.8 Peer-to-peer(P2P) style

o Peers are loosely connected, each acting both as a client and as a server

Page 15: Initial Architectural Design (Game Architecture)

5.3 The tier systemo Software architects decides about what goes into each

layer (tier) and logical verses physical separationo 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

Page 16: Initial Architectural Design (Game Architecture)

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.

Page 17: Initial Architectural Design (Game Architecture)
Page 18: Initial Architectural Design (Game Architecture)

5.5 Applying tier based approach to architecture design