Building a Public Transportation System
Product Line
Omar T. Jaradat, Augustin Petrović & Manish Kungwani
1
DSD PTS TeamUniversity of Zagreb, CroatiaFaculty of Electrical Engineering
and ComputingAugustin Petrović (CROATIA)
Manish Kungwani (INDIA) Pratik Bapurao Barkade (INDIA)
Mälardalen University, SwedenDepartment of Computer Science and
ElectronicsSeverine Sentilles (FRANCE)
Omar Tawffeeq Jaradat (JORDAN)Uma Shankar Subramani (INDIA)
Hafiz Umer Waqar (PAKISTAN)Siva Chaitanya Nayak Eslavath (INDIA)
Project supervisor
2
• VIDEO
3
Communication structure
4
We aimed to with• Software Product Line (SPL)• Domain: Public Transportation Systems
• Umple modeling language• Develop three SPL instances
5
PTS common elements
StopsLines
Runs
TimetablesSchedules
Vehicles
6
Public Transportation System PLRequirements
DOMAIN ELEMENTS
Stops
Lines
Vehicles
Runs
OPERATION ELEMENTS
Schedules
Timetables
PASSENGER ASSISTANCE
Quickest route
finding
Actual timing
EMERGENCY HANDLING
Vehicle position tracking
Rerouting
Arrival time prediction
INSTANCE REQUIREMENT
S
Optional instance specific features
Functional PL requirements
7
Development Process• Model Driven Development – Umple• Test Driven Development• Agile “UP” methodology
• Incremental release-based development
8
DESIGN (or redesign)
ARCHITECTURE
DESIGN TESTS
MATERIALIZEDESIGN
IN UMPLE
GENERATE CODE
TESTDEVELOP INSTANCES
RELEASE
UMPLEDEFINE
REQUIREMENTS
ASSIGN REQUIREMENTS TO ITERATIONS
Development Process
9
• Core Entities and Repositories• Schedule Management• Vehicle management• Passenger Assistance• Arrival Time Prediction• Quickest Route Fiding• Data Access Layer• Emergency Handling support
Product Line Core
10
Instance architecture
11
Public Transportation System Product Line
Product Line Core
PTS on CLOUD
“.jar” to “.dll”
Amazing PTS instance
Västerås PTS
12
Lausanne PTS – aka Amazing PTS instance
• Based on a real city - Lausanne• All features derive from the Product
Line PLC• Administrative Desktop Application
13
14
Västerås PTS• Based on – Västerås• Only Core features• Desktop Application• Uses its own DAL – MS SQL Server
15
16
PTS on CLOUD• Based on a real city – Lausanne• Passenger Assistance features• Consumer End Web Application• Java + .NET interoperability
LIVE ON THE WEB Windows Azure
17
18
Technical issues• Missing features in Umple
(under development)• Class abstraction• Generics• No Multiple Interface Implementation• Exception Handling
• Oracle database server crashed• Inaccessible Real-Time data for Neural
Networks learning
19
Decisions and Solutions• Code generation from model • Implemented the following design patterns:• Factory Pattern• Repository Pattern• Singleton Pattern• Observer Pattern
20
Some more issues• Some ill-performing team members• Language semantics• Cultural misunderstandings
21
Results Complete Umple model as
Product Line Core Developed 3 working instances Extended the requirements from
Customer Neural Network for Arrival Time Prediction Quickest route finding
22
Experience• Distributed work environment• Product Line development• Acquired modeling and language skills• Friends and a life experience
23
Special Thanks to…Timothy C. Lethbridge (SCORE)Ivica Crnković (MdH)Mario Žagar (FER)Aneta Vulgarakis (MdH)Séverine Sentilles (MdH) Igor Čavrak (FER) Marin Orlić (FER)Ivana Bosnić (FER)
Dominik PavlovićVice Šimunov
Jure RastićShruti JohariIvan Petković
For all the HELP and
GUIDANCE …
24
Thank You
• Any Questions or Queries?
Što? What?
Vad?
Was?
Comments !