The demand for integrated environments to support model-driven development based on standardized or domain-specific modeling languages is on the rise. When setting out to develop such environments, toolsmiths must frequently use, buy, or build the same handful of common building blocks to support things like model exploration, property description, resource management, validation, compare/merge, search, index, etc.. While they can certainly benefit from the wide range of existing modeling frameworks and tools at Eclipse, experience has shown that there is still a significant gap between these existing components and what users expect to see in an industrial strength environment. This has resulted in a growing number of increasingly redundant modeling technologies and overlapping consumer-driven modeling components at Eclipse. We owe it to our communities to do better than this.
Just as the Eclipse e4 project has a set of composeable application services, also referred to as the "twenty things", the Modeling project should have its own list of essential services - the "twenty modeling things". Efforts are already underway to put some of these things into practice by creating higher level modeling tool platforms. Among these are the Papyrus project, where reusable parts that comprise UML tooling are being refactored into a generic backbone, and the Artop project (www.artop.org), where an AUTOSAR modeling tool platform has been built atop an AUTOSAR-independent layer of generic services. This talk will propose a core set of modeling services and APIs (based on industry experience and community input), discuss whether/how existing efforts support each service, and speculate as to how any remaining gaps might be filled by the upcoming Sphinx project, where Papyrus and Artop committers will join forces to create an integrated modeling tool platform at Eclipse.