Delft University of Technology
Faculty Mechanical, Maritime and Materials Engineering
Transport Technology



J.D. Quak Generalisatie van Must-objecten: uitwerking van een kassa-voorbeeld.
Computer program, Report 96.3.LT.4683, Transport Engineering and Logistics.


Comparable objects are frequently used in different applications, when using Must for simulation purposes. Therefore, such objects seem suitable for generalisation. Defining these standard objects in units prevents the same object from bemg programmed more than once and, furthermore, using standard objects simplifies the structure of the main program. Object-oriented programming is very useful: it creates the opportunity to apply descendants of the generalised objects and it is possible to fit these descendants to the specific demands of the application.

Elaboration of an example, in which a paydesk and a multiple paydesk system have been generalised, gave the desired results: they appeared to be suitable for generalisation. Definitions of these objects have been recorded in units. When initiating these objects, some parameters can be assigned, like queue disciplines and numbers of queues. As a result, the objects can be used in different applications. Besides that, the generilisation leads to a relatively easy structure of the main program. If a customer (of which an attribute had to be accessible for the paydesk) is defined at the same level also - i.e. as a generalised customer in the same unit as the generalised paydesk - the main-program will become even less complicated. The main-program mentioned here concerns the simulation of a simple model of a supermarket: customers are created by a generator and leave the system after being served by the right paydesk.

So, generalisation can lead to a widely applicable object and a rather simple main-program. However, the demands 'widely applicable' and 'easy main-program' are often in conflict. The problem is that an object defined in a unit does not have access to attribtites of an object defined at another level (e.g. the main-program). The use of virtual methods can solve this problem. This will complicate the main-program. The problem can be avoided by defining both objects in the same unit. However, programs will get less flexible: it is just a solution for a specific application.


Reports on Transport Engineering and Logistics (in Dutch)
Modified: 2008.01.22; logistics@3mE.tudelft.nl , TU Delft / 3mE / TT / LT.