group 9 “the software architecture of a program or computing system is the structure or structures...

17
Group 9 “The software architecture of a program or computing system is the structure or structures of the system, which comprise software elements, the externally visible properties of those elements, and the relationships among them”

Upload: stephanie-blair

Post on 31-Dec-2015

218 views

Category:

Documents


5 download

TRANSCRIPT

Page 1: Group 9 “The software architecture of a program or computing system is the structure or structures of the system, which comprise software elements, the

Group 9

“The software architecture of a program or computing system is the structure or structures of the system, which comprise software elements, the externally visible properties of those elements, and the relationships among them”

Page 2: Group 9 “The software architecture of a program or computing system is the structure or structures of the system, which comprise software elements, the

Group members

Mirela Divic Anders Magnus Braathen Hans Rasmussen Bjørn-Erik Stenbakk

Page 3: Group 9 “The software architecture of a program or computing system is the structure or structures of the system, which comprise software elements, the

Introduction

Quality attributes in focusPerformanceAvailability

Page 4: Group 9 “The software architecture of a program or computing system is the structure or structures of the system, which comprise software elements, the

Approach

Phase 1:Started out with Req. Spec. & Arch. design.….and doing it all over again

Phase 2:The ATAM

Phase 3: Implementation

Page 5: Group 9 “The software architecture of a program or computing system is the structure or structures of the system, which comprise software elements, the

Quality tactics

PerformanceAlgorithmRepresentation of the encountered world in

the robots memory Availability

Preventing faults Recovery

Page 6: Group 9 “The software architecture of a program or computing system is the structure or structures of the system, which comprise software elements, the

Our architecture

Changed during implementation Described with three different views UML class diagram most valuable during

implementation

Page 7: Group 9 “The software architecture of a program or computing system is the structure or structures of the system, which comprise software elements, the

Logical view

Page 8: Group 9 “The software architecture of a program or computing system is the structure or structures of the system, which comprise software elements, the

StateManagerController

SensorInterpretorEngine PathRecorder PathGripper

getState()

state;int

setMotorSpeed(int,int)

findObject(boolean, boolean)

upDateTrack(int,int, Pathrecorder)

meanDistance(boolean, boolean)

investigate()

turnToItem()

setFoundBall(true)

nextState

nexState

getState()

state;int

pickUp()

int[][]

setHasBall(true)

nexState()

getState()

state;int

getRecordedPath()

path;Path

followRecTrack

get()

set()

path

Page 9: Group 9 “The software architecture of a program or computing system is the structure or structures of the system, which comprise software elements, the

Development view

3. Controller 2. StateManager, PathRecorder 1. SensorInterpreter, Engine, Paths

Page 10: Group 9 “The software architecture of a program or computing system is the structure or structures of the system, which comprise software elements, the

Implementation

Plan: App. 1+ week figuring out the existing code and

implemententing simple tasks App. 1+ week making our Controller as we wanted it App. 1+ week testing and writing final report (NB! Everybody had other courses to attend as well)

Page 11: Group 9 “The software architecture of a program or computing system is the structure or structures of the system, which comprise software elements, the

Implementation

The plan worked fairly well More time-consuming to implement simple

tasks than expected More time-consuming to implement the

final Controller Testing was done during implementation

Page 12: Group 9 “The software architecture of a program or computing system is the structure or structures of the system, which comprise software elements, the

Lessons learned (1/2)

Framework:Architecture depends on existing frameworkMade a lot of ”hacks” to make it work

Page 13: Group 9 “The software architecture of a program or computing system is the structure or structures of the system, which comprise software elements, the

Lessons learned (2/2)

ATAMEvaluating another team’s architectureHaving our own architecture evaluated

Programming AI

Page 14: Group 9 “The software architecture of a program or computing system is the structure or structures of the system, which comprise software elements, the

Results (1/3)

Difficult to draw map by sensor-readingsHad to use a different approachRobot best suited for following walls

Excluding the need for complex search-algorithms

Page 15: Group 9 “The software architecture of a program or computing system is the structure or structures of the system, which comprise software elements, the

Results (2/3)

The robot is able to:Find and recognize ballsFind and recognize lightRecord path when searching

Efficient movement between encountered items

Avoid crashing and getting stuck

(in most situations)

Page 16: Group 9 “The software architecture of a program or computing system is the structure or structures of the system, which comprise software elements, the

Results (3/3)

Areas of improvementBetter recognition of ballsControlled termination when finished or stuckWhat to do when encountering a second ball

Page 17: Group 9 “The software architecture of a program or computing system is the structure or structures of the system, which comprise software elements, the

Conclusion

Unable to fulfill all the requirements Time consuming

Final implementation differs somewhat from the original architecture

Hard to keep architecture in focus Simulator offers limited flexibility

Low level experience in AI programming Challenging task