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.