Transportation System
Software and hardware model
5th semester project
| Student: | Etienne Perron |
| Assistant: | Andrey Naumenko |
| Professor: | Alain Wegmann |
General Information
Introduction
Downloads
Links
General Information
This is the webpage of my 5th semester project at the Ecole Polytechnique Fédérale of Lausanne. I had to design and program an elevator-control software using the modeling language UML and the techniques of Catalysis. After the result was running as a Java application, I began modeling the whole elevator with the aim to show that if we model the non-software parts of a system, too, we may obtain much more interesting results and more creative ideas.
Introduction
This semester project is divided into three main parts.
-Transportation System: In this first part, I built the model of the controlling software of an elevator, that communicates with the elevator's hardware using input and output events.
The idea for this project was born because the Software Engineering Laboratory (LGL, http://lglwww.epfl.ch) of the EPFL did a similar project using their modelling approach. All I know about that project is that the software to control an elevator was constructed, and I received a copy of the initial contract for this system. We decided to make such a system with the modeling methods used and developed by the Institute for computer Communications and Applications (ICA, http://icawww.epfl.ch).
I modeled this system using the UML notation and Catalysis, a modeling technique with different phases. For this work, I used Cool:Jex by Sterling Software (http://www.sterling.com). This tool is great for drawing all the needed diagrams, defining properties of the used objects, and it generates Java Code corresponding to the Class Diagrams one made.
(You will find the diagrams produced in this part in the transport3-repository, in the project "TransportationSystem")
I programmed the functions for this generated Code, built a graphical user interface using Visual Café by Symantec (http://www.symantec.com), and I designed a very simple simulator that allows you to test the functionality of my elevator software.
-Extended Transportation System: In this second part, I tried to model not the software, but the whole elevator (hard- and software), and I made this for a very general transportation system ,without specifying if it is an elevator or some other type of system. This work was extremely confusing and difficult, but I think that in the end, I have understood well the ideas of this approach. Unfortunately, my first version of the Extended Transportation System was not very useful for the optimization task that was one of the main goals of this model. In the ETS, the parallelisms of the different transports could not been treated using UML, so that there was still an algorithm to do by hand.
(You will find the diagrams produced in this part in the transport3-repository, in the project "ExtendedTransportationSystem").
-Extended Transportation System, Version Two: For the reasons mentioned above, I started a third approach, where I tried to represent parallelisms in my diagrams. The goal was not to build a working system, but to try to find a general base for different transportation systems, to compare different implementations of it and to find optimal solutions for each case, depending on the requirements of the corresponding situation.
I went on with this part as long as possible, but my time run out, and I had to stop far from the end. But this part lead to some interesting results, just as well.
(You will find the diagrams produced in this part in the transport3-repository, in the project "ExtendedTransportationSystemTwo").
I hope that in the end, even if the project is not finished, the report I have written is useful for someone who wants to get started with UML, and also for people that want to model real objects using OO techniques.
Finally, I enjoyed this project very much and I had a lot of fun doing it. It would be really nice if someone had the courage to continue my work where I had to stop.
Downloads
| The report of the project in pdf format. | |
| The Java-code of the TransportationSystem and the Simulator. | |
| The TimeCounter Test-Application. | |
| The final backup of the Cool:Jex repository. |
Links
| icawww.epfl.ch | The Institute for computer Communications and Applications of the EPFL. | |
| www.epfl.ch | Ecole Polytechnique Fédérale de Lausanne. | |
| lglwww.epfl.ch | Software Engineering Laboratory of the EPFL. | |
| www.sterling.com | Sterling Software, author of Cool:Jex. | |
| www.symantec.com | Symantec, author of Visual Cafe. |