Ecore is very much like UML in the way that it represents application data models. Thus, as we have seen, the mapping from UML to Ecore is simple and direct. Moreover, UML, and hence Ecore, was designed to map very cleanly to implementations in object-oriented languages such as Java.
However, in Chapter 4 we also saw that XML Schema’s expressive power can result in a less direct mapping to Ecore. In fact, certain schema constructs simply cannot be represented using a traditional UML class diagram approach. Therefore, for EMF to achieve the important goal of unifying UML, Java, and XML, some extended modeling concepts are needed in Ecore.
In this chapter, we’ll look at these concepts. We begin with