
Figure 12
shows a domain model used for modeling software systems which requires three distinct universes of discourse: the universe of software objects, Us; the universe of application objects, Ua; and the universe of execution objects, Ue. Based on the layering shown in Figure 12, individuals in one universe describe the individuals in the next "lower" universe.
The universe Us contains objects that describe software systems. The individuals in this universe are the constructs of programming languages. One such construct, procedure, is a familiar programming language construct used to represent a module in a software system that performs some operation, and exists as an instance of software-object in Us.
In universe Ua the object procedure exists as a class, where it describes procedures. The individuals in this universe are all the parts of the software system being modeled (such as the procedures, data types, files, etc.). In the case where the application being modeled is a software system for a library card catalog, one of the individuals in Ua would be find-book - the procedure for finding a book in the card catalog database given some key information.
The third universe of discourse, Ue, contains information about the software system during a particular execution. The individuals in this universe represent various aspects of the running software system and here find-book is a class that describes all calls to the procedure. One of the individuals in this domain, find-book-01, represents the procedure find-book being called to find some book. Note that find-book-01 does not represent what to do to find some object called book-01, it represents an invocation of the procedure find-book.
Generated with CERN WebMaker