cs517 final project train monitoring and control system devon raehal, brock wilcox, yuen lee

14
CS517 Final Project Train Monitoring and Control System Devon Raehal, Brock Wilcox, Yuen Lee

Upload: ezra-stafford

Post on 05-Jan-2016

217 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: CS517 Final Project Train Monitoring and Control System Devon Raehal, Brock Wilcox, Yuen Lee

CS517 Final Project

 Train Monitoring and Control System

Devon Raehal, Brock Wilcox, Yuen Lee

Page 2: CS517 Final Project Train Monitoring and Control System Devon Raehal, Brock Wilcox, Yuen Lee

Our Group

• Devon Raehal – Colorado• Brock Wilcox – Washington D.C.• Yuen Lee - Florida

Page 3: CS517 Final Project Train Monitoring and Control System Devon Raehal, Brock Wilcox, Yuen Lee

PROBLEM DESCRIPTION

Page 4: CS517 Final Project Train Monitoring and Control System Devon Raehal, Brock Wilcox, Yuen Lee

Problem Description

• A Train Management System (TMS) is to be developed. – The system consists of two major subsystems:

• A Train Monitoring and Control Subsystem (TMCS)• A Train Schedule Inquiry Subsystem (TSIS).

– The TMCS is responsible for • tracking trains• controlling the traffic signals • The TMCS does not directly control the trains

– The TSIS is used by passengers to query the system about

• train schedules• prices• the current locations of trains

Page 5: CS517 Final Project Train Monitoring and Control System Devon Raehal, Brock Wilcox, Yuen Lee

MAJOR MODELS

Page 6: CS517 Final Project Train Monitoring and Control System Devon Raehal, Brock Wilcox, Yuen Lee

UML Domain Diagram

Page 7: CS517 Final Project Train Monitoring and Control System Devon Raehal, Brock Wilcox, Yuen Lee

UML Impl Diagram

Page 8: CS517 Final Project Train Monitoring and Control System Devon Raehal, Brock Wilcox, Yuen Lee

USE Case Highlights

Page 9: CS517 Final Project Train Monitoring and Control System Devon Raehal, Brock Wilcox, Yuen Lee

OCL Highlightsabstract class Segmentoperations

-- This will call out the the subclass prevSegments prevSegments(): Set(Segment) = if oclIsTypeOf(RouteSegment) then self.oclAsType(RouteSegment).prevSegments() else self.oclAsType(Platform).prevSegments() endif -- Next segments can be calculated from previous segments nextSegments(): Set(Segment) = Segment.allInstances ->select( s | s.prevSegments()->includes(self) )->asSet

Page 10: CS517 Final Project Train Monitoring and Control System Devon Raehal, Brock Wilcox, Yuen Lee

OCL Highlights$ ./runtests.pl ok 1 - tests/00_basic_invariants_pass.cmdok 2 - tests/01_train_pass.cmdok 3 - tests/02_train_notred_fail.cmdok 4 - tests/03_train_move_pass.cmdok 5 - tests/04_train_move_skip_fail.cmdok 6 - tests/05_multiroute_basic_pass.cmdok 7 - tests/06_multiroute_1train_pass.cmdok 8 - tests/07_multiroute_2train_fail.cmdok 9 - tests/08_multiroute_2train_pass.cmdok 10 - tests/09_train_location_query_pass.cmdok 11 - tests/10_fares_pass.cmd1..11

Page 11: CS517 Final Project Train Monitoring and Control System Devon Raehal, Brock Wilcox, Yuen Lee

MAJOR EXPERIENCES

Page 12: CS517 Final Project Train Monitoring and Control System Devon Raehal, Brock Wilcox, Yuen Lee

Experiences• Work out ambiguities early

• This did not prove as easy as we thought. • We did the requirements breakdown • We had a big 12th hour “argument” about what it

meant to be a Route vs. a Section. • Team Work over time zones was a challenge

• At Midnight for Devon it was 2AM for Yuen and Brock.

• The team had to devise ways to collaborate.• used git via bitbucket.org. (Private repos for free)• Google Chat• Google hangout for voice and video

• Better understanding of the class subjects of UML, OCL and model checking.

Page 13: CS517 Final Project Train Monitoring and Control System Devon Raehal, Brock Wilcox, Yuen Lee

CONCLUSION

Page 14: CS517 Final Project Train Monitoring and Control System Devon Raehal, Brock Wilcox, Yuen Lee

Conclusions