The development of business and information systems requires a significant amount of modeling. The current modeling languages and tools have difficulties supporting the modeling of systems spanning through multiple organizational levels. The use of inadequate modeling abstractions is one of the important causes for these difficulties. This paper proposes an ontology that defines the concepts needed for object-oriented modeling and gives a graphical example. The ontology is based on RM-ODP and relies on Constructivism and System Theory. The proposed ontology allows the definition of development methods, modeling languages and tools that are applicable to complex systems. This can lead to significant productivity improvements in the business and software development communities.