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

Post on 05-Jan-2016

217 views 0 download

Transcript of 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

Our Group

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

PROBLEM DESCRIPTION

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

MAJOR MODELS

UML Domain Diagram

UML Impl Diagram

USE Case Highlights

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

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

MAJOR EXPERIENCES

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.

CONCLUSION

Conclusions