We are in the finals of SCORE and 3 team members are going to Hawaii to present the project.
Public Transportation System
Product Line is a SCORE project, which aims to create a software product line in the public transportation domain. The main goal is to design a product core implementation, on which multiple software products could rely on. Additionally, three software products (instances) had to be developed to demonstrate the reusability of the product core implementation.
All the transportations systems in the world have common domain logics. Therefore we have introduced the shared characteristics of those systems into one extensible (core) module – Product Line Core. The implementation for each product (a specific transportation system) then uses this core, and extends it with additional required functionalities based on the Customer’s specific requirements. We have developed several such instances, each having a different set of requirements.
The reason behind developing Product Line instances is to verify and test the practicality and the reusability of our Product Line Core. The instances have their own user interface and may have an independent persistent storage module. To allow for persistent storage, we have developed a Data Access Layer, which was not a part of the core requirements.
Västerås PTS - Named after a real city, is an instance implemented for “imaginary” needs of Västerås public transportation company (Västmanland Local Traffic Co.). The instance allows the administration to manage stops, lines, runs and vehicles which belongs to the company.
http://www.fer.hr/_download/repository/2nd_Instance_-_Real_Instance_Video.zip
Lausanne PTS - Based on a real city, is an instance implemented for the supposed yet wide needs of Lausanne public transportation company. Apart from managing stops, lines, runs and vehicles the instance supports timetable and schedule generation.
The instance also supports commuter queries for shortest route between stops and the next available runs to reach the destination.
It is deployed using Java WebStart and can be accessed at: http://staticweb.rasip.fer.hr/projects/students/dsdpts/PTSAmazingInstance.jnlp .
PTS on Cloud - The third instance is based on .NET framework 4.0 and Windows Azure (Microsoft owned cloud). The instance uses a transformation from the “.jar” file to “.dll” using IKVM tool. This library is used as a core by the Windows Azure application. The instance is online implements the Passenger Assistance functions. The instance can be viewed at: http://ptsoncloud.cloudapp.net.
Something out of the Box:
This is something we came up with, in the later stages of the project:
We observed that some projects look at the similar domain i.e. Public Transportation, although with a different perspective. We shared our ideas with another SCORE team EzFare (from University of Zagreb, Croatia and Mälardalen University, Västerås, Sweden). As we are working on the same domain, we agreed that we can share our resources to provide computing or storage benefits to the other project.
EzFare Project: This project is developing an automatic ticketing service for the commuters using wireless technology. They provide the real-time run data to the transport company, and have an accessible interface for the consumers on an “as per need” basis.
http://www.fer.hr/rasip/dsd/projects/transport4you2
We intend to use their real-time data for our Arrival time predictions and vehicle management purposes. This will provide us a ready source of utilizable and practical data from the field. This will show the reusability in a way that the system can collaborate with a third party solution. In return, the EzFare team expects us to provide a backbone application (one of our instances) for Vehicle, Stop, Line, Run and Schedule management.
This decision from our teams is bound to lead to a better, practical and efficient solution for an actual system as our features are complementary. We are working together to make a usable API for either to use each other’s applications without hindering the working of the others’ application.