This post originated from an RSS feed registered with Agile Buzz
by James Robertson.
Original Post: Train Scheduling with Smalltalk
Feed Title: Cincom Smalltalk Blog - Smalltalk with Rants
Feed URL: http://www.cincomsmalltalk.com/rssBlog/rssBlogView.xml
Feed Description: James Robertson comments on Cincom Smalltalk, the Smalltalk development community, and IT trends and issues in general.
DB Systems and Daedalos Consulting are telling us about their train scheduling system for the German railways - they call it RUT-K. The system (rail) is big - 40,000 passenger and freight trains, 65,000 kilometers of track, and 8500 crossings and switches. The trains run at different speeds to different stops. There are 400 users of the system in 7 offices across Germany.
Managing a train schedule is like putting together a huge puzzle
The system handles:
Exact construction of train paths
Timetabling by train
A structured database holding multiple versions of the timetables (with variants)
Distributed data storage and data editing capabilities
The system allows for interactive development of train paths and schedules, with user inquiries answered by possible answers. The inputs are the objectives - train path and stops (including times), as well as the actual circulation of the train. The system creates a detailed timetable without conflicts and calculated running times. Potential conflicts in a user's desired path/schedule are displayed , and the system supports graphical editing of train paths and schedules. Reports for this can all be generated.
The system has to generate these visual schedules quickly, and detect (and make users aware of) conflicts rapidly. They managing hundreds of MB of data in the client application. They have gotten some smart people on board to define appropriate algorithms for solving these problems in code - successfully. The system is client/server, using Oracle as a back end. The development environment has migrated from VW 3.1 and Envy to VW 7.x and Store. They also have an offline version for laptops.
RUT-K is not the only Smalltalk application used in the railway system - their scheduling/planning system and some of their back office systems are also done in Smalltalk. The system has been deployed since April 2003. Why has it been successful?
User involvement at all points
Detailed specifications
Short development iterations
The organization and team
Smalltalk
Reuse of components across applications
Easy build process
Powerful class libraries
I've seen the application in their offices, and it's very impressive. We are seeing a demonstration of the mobile version running on a laptop with test data. I'll have to see if anyone with a digital camera has shots to post.