Group 3 Ballfinder a highly modifiable system. Introduction Quality attribute: Modifiability Environment: Random maze Known number of balls One light.

Slides:



Advertisements
Similar presentations
Dynamic Thread Assignment on Heterogeneous Multiprocessor Architectures Pree Thiengburanathum Advanced computer architecture Oct 24,
Advertisements

CS 443 Advanced OS Fabián E. Bustamante, Spring 2005 Resource Containers: A new Facility for Resource Management in Server Systems G. Banga, P. Druschel,
1 Software Processes A Software process is a set of activities and associated results which lead to the production of a software product. Activities Common.
Systems Analysis, Prototyping and Iteration Systems Analysis.
1 Coven a Framework for High Performance Problem Solving Environments Nathan A. DeBardeleben Walter B. Ligon III Sourabh Pandit Dan C. Stanzione Jr. Parallel.
Case Tools Trisha Cummings. Our Definition of CASE  CASE is the use of computer-based support in the software development process.  A CASE tool is a.
Evaluating a Software Architecture By Desalegn Bekele.
Reverse Engineering When is it the most cost effective? Raymond Utz.
V T T E L E C T R O N I C S 1 Tuomas Ihme An SDL Framework for X-ray Spectrometer Software Tuomas Ihme VTT Electronics SAM98,
Progress Report 11/1/01 Matt Bridges. Overview Data collection and analysis tool for web site traffic Lets website administrators know who is on their.
Richard L. Zollars Washington State University Jim Henry University of Tennessee at Chattanooga Screen Using Control Station ® Screen Using UTC Site No.
Systems Analysis & Design Sixth Edition Systems Analysis & Design Sixth Edition Toolkit Part 5.
MyBeats Michael Smith. Integration Plans Entry Criteria Integration and Testing Error Documentation and Resolution Exit Criteria.
© 2006 Pearson Addison-Wesley. All rights reserved2-1 Chapter 2 Principles of Programming & Software Engineering.
Software Architecture Quality. Outline Importance of assessing software architecture Better predict the quality of the system to be built How to improve.
Design of Embedded Systems Task partitioning between hardware and software Hardware design and integration Software development System integration.
Architecture and Requirements
Software Life Cycle Model
Introduction - The Need for Data Structures Data structures organize data –This gives more efficient programs. More powerful computers encourage more complex.
Software Architecture premaster course 1.  Israa Mosatafa Islam  Neveen Adel Mohamed  Omnia Ibrahim Ahmed  Dr Hany Ammar 2.
Jordan University of Science and Technology
Software Architecture in Practice (3rd Ed) Introduction
Introduction to Computers and Python. What is a Computer? Computer- a device capable of performing computations and making logical decisions at speeds.
A Spring 2005 CS 426 Senior Project By Group 15 John Studebaker, Justin Gerthoffer, David Colborne CSE Dept., University of Nevada, Reno Advisors (CSE.
Cristian Urs and Ben Riveira. Introduction The article we chose focuses on improving the performance of Genetic Algorithms by: Use of predictive models.
T Project Review TeXlipse [I2] Iteration
Group 9 “The software architecture of a program or computing system is the structure or structures of the system, which comprise software elements, the.
FPGA-Based System Design: Chapter 6 Copyright  2004 Prentice Hall PTR Topics n Design methodologies.
CSE 219 Computer Science III Program Design Principles.
Mobile robot controller Group 2. Group 2 - Robot controller project - TDT4240 Software Architecture Group 2 Leif Hamang Bru Lisa W. Eriksen Kay Are Ulvestad.
SOFTWARE ARCHITECT – DESIGN.  Introduction  Architecture Drivers  POS System Architecture  Mapping Between Perspective  Evaluate Architecture  Project.
Systems Analysis & Design 7 th Edition Chapter 5.
Chapter 12: Design Phase n 12.1 Design and Abstraction n 12.2 Action-Oriented Design n 12.3 Data Flow Analysis n Data Flow Analysis Example n
Chapter 7 Software Engineering Introduction to CS 1 st Semester, 2015 Sanghyun Park.
1 Advanced Software Architecture Muhammad Bilal Bashir PhD Scholar (Computer Science) Mohammad Ali Jinnah University.
PASSOLO ® Makes Your Software Ready for the Global Market Localisation Standards The Tools Developer’s Perspective.
Fast Cheap and Easy: Using Second Life for Simulating Safety Critical Operations in the Undergraduate Curriculum E. Andrew Kapp PhD, CSP, CHMM, REM Department.
INTRODUCTION GORT is a virtual 3D modeling environment for computer programmers. Its main area of focus is to aid in the education of programmers learning.
© 2006 Pearson Addison-Wesley. All rights reserved 2-1 Chapter 2 Principles of Programming & Software Engineering.
Click to add text Systems Analysis, Prototyping and Iteration.
Learning Momentum: Integration and Experimentation Brian Lee and Ronald C. Arkin Mobile Robot Laboratory Georgia Tech Atlanta, GA.
Progress presentation
John D. McGregor Architecture Evaluation
Copyright (C), No Magic, Inc Welcome to No Magic!
Chapter 2 Principles of Programming and Software Engineering.
Whole Test Suite Generation. Abstract Not all bugs lead to program crashes, and not always is there a formal specification to check the correctness of.
The ATAM method. The ATAM method (1/2) Architecture Tradeoff Analysis Method Requirements for complex software systems Modifiability Performance Security.
Chapter 10 Software quality. This chapter discusses n Some important properties we want our system to have, specifically correctness and maintainability.
Software Evaluation Chapter 54 Introduction This is carried out when new software is need by a business. It helps the decision, of what kind of software.
January 28, 2011 Objective: Students will identify the niche for their business ideas.
INTRODUCTION CSE 470 : Software Engineering. Goals of Software Engineering To produce software that is absolutely correct. To produce software with minimum.
Methodologies and Algorithms
Software Architecture ATAM Process Presentation
John D. McGregor Session 9 Testing Vocabulary
Group 4 Anders Linseth Magdalena Lipska Nicolai Friis Tobias Melcher
John D. McGregor Session 9 Testing Vocabulary
CHAPTER 2 CREATING AN ARCHITECTURAL DESIGN.
3 Challenges to Software Performance Testing in Continuous Integration.
Model-Driven Analysis Frameworks for Embedded Systems
John D. McGregor Session 9 Testing Vocabulary
Software Design Lecture : 8
Software Design Lecture : 14.
Architecture & System Performance
State Design Pattern Brandon Jacobsen.
Programming Fundamentals (750113) Ch1. Problem Solving
Title of Project Joseph Hallahan Computer Systems Lab
Programming Fundamentals (750113) Ch1. Problem Solving
Chapter 5.
System Reengineering Restructuring or rewriting part or all of a system without changing its functionality Applicable when some (but not all) subsystems.
Author: Mikko Rönö Istructor: M.Sc. Jussi Setälä
Presentation transcript:

Group 3 Ballfinder a highly modifiable system

Introduction Quality attribute: Modifiability Environment: Random maze Known number of balls One light source

Quality attribute scenario 1 The developer wishes to change or add modules to the system

Quality attribute scenario 2 The user changes the maze. The robot should still be able to do its tasks

Other scenarios The user changes the number of balls. The robot incorporates the new value. The user changes the drop-off-point (light intensity treshold). The robot is able to deliver the balls appropriately. The user increases the robots speed; the robot starts moving faster and it is still able to handle its tasks without crashing. The robot gets stuck, then gets unstuck.

Logical view 1 Toolkit classes AIControllers Abstract AIController

New AIController subclass

Main controllers

Complete logical view

Process view

FindBall algorithm

DropBallCloseToLight algorithm

What have we learned? Architecture driven software development The architecture design process was more time consuming than expected Hard to share the workload among the architecture developers The ATAM process can be a useful evaluation tool, although it might be more suited for larger projects.

Achievements/Findings A highly modifiable architecture The controller works quite well, despite some minor quirks and the buggyness of the simulator Poorly documented simulator; We discovered things about the simulator during implementation which we would have liked to have known during architecture design

Conclusion We have achieved our goals The usefulness of software architecture design increases dramatically with experience The architecture was helpful during implementation

?