Reputation: 121
I am curious to know what is the ontology of UML?
Would it be stuff like Use Case diagrams etc..or stuff like association, aggregation, composition etc...?
I tried googling but the responses were very vague.
Upvotes: 2
Views: 273
Reputation: 5673
In addition to the technical definition used by Bruce, which is popular in computer science, the term "ontology" has also been used in philosophy in the sense of a theory of the categories of things that exist in the real world. Such a theory is also called a foundational ontology. For example, in most foundational ontologies there is a distinction between the categories of "endurants" and "perdurants", which roughly correspond to "objects" and "events/processes".
The Unified Foundational Ontology (UFO) has been proposed as a philosophical basis for conceptual modeling and has been used for evaluating and improving UML as a conceptual modeling language. For reading more about it, just search with http://scholar.google.de/scholar?hl=en&q=Unified+Foundational+Ontology
Thus, the "ontology of UML" should be concerned with the ontological categories underlying, and explaining, the basic UM concepts of "objects", "classes", "properties", "association", "aggregation"/"composition", "datatypes", "events", "actions", "activities", etc. It should also help to identify shortcomings and flaws of UML.
For instance, UML's parthood concepts of "aggregation" and "composition" are under-specified and not well-defined.
Upvotes: 1
Reputation: 2310
How's this... An ontology is a specification of a conceptualization. UML is the conceptualization of software elements (those things that you name). A use case diagram is a conceptualization of system functionality. An association is a conceptualization of a relationship between 2 pieces of code, etc. From this, I would think that the UML Specification is the ontology. It describes all the purpose and use of the elements of the UML.
Upvotes: 1