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

Transcript of CS517 Final Project Train Monitoring and Control System Devon Raehal, Brock Wilcox, Yuen Lee.

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