Author_Institution :
MDE Syst. Inc., Yonkers, NY, USA
Abstract :
Model Driven Engineering (MDE) is a promising recent innovation in the software industry that has proven to work synergistically with Software Product Line Architectures (SPLA). It can provide the tools necessary to fully harness the power of Software Product Lines. The major players in the software industry including commercial companies such as IBM, Microsoft, standards bodies including the Object Management Group and leading Universities such as the ISIS group at Vanderbilt University are embracing this MDE/SPLA combination fully. IBM is spearheading the Eclipse Foundation including its MDE tools like the Eclipse Modeling Framework (EMF) and the Graphical Modeling Framework. Microsoft has also launched their Software Factories and DSL Toolkit into the MDE space. Top software groups such as the ISIS group at Vanderbilt are using these MDE techniques in combination with SPLAs for very complex systems. The Object Management Group is working on standardizing the various facets of MDE. All of these groups are capitalizing on the perfect storm of critical innovations today that allow such an approach to finally be viable. To further emphasize the timeliness of this technology is the complexity ceiling the software industry find itself facing wherein the platform technologies have increased far in advance of the language tools necessary to deal with them. This complexity ceiling is evident in today´s Software Product Lines. As more and more software products are evolving into families of systems, it is vital to formally capture the commonalities and variabilities, the abstractions and the refinements, the frameworks and the framework extension points and completion code associated with a particular family. Model Driven Engineering has shown to be a very promising approach for capturing these aspects of software systems and families of systems which thereafter can be integrated systematically into Software Product Lines and Product Line Architectures. The process of Dev- - eloping Software Product Line Architectures can be a complex task. However, the use of Model Driven Engineering (MDE) techniques can facilitate the development of SPLAs by introducing Domain Specific Languages, Graphical Editors, and Generators. Together these are considered the sacred triad of MDE. Key to understanding MDE and how it fits into SPLAs is to know exactly what each part of the trinity means, how it relates to the other parts, and what the various implementations are for each. This tutorial will demonstrate the use of the Eclipse Modeling Framework (EMF) and Eclipse´s Graphical Modeling Framework (GMF) to create an actual MDE solution as applied to a sample SPLA. During this tutorial we will also illustrate how to model the visual artifacts of our Domain Model and generate a Domain Specific Graphical Editor using GMF. This tutorial continues to be updated each year to include recent and critical innovations in MDE and SPL. This year will include information on key Model Transformation, Constraints and Textual Modeling Languages targeted at Software Product Lines. Additionally, it will cover advances in Software Product Line migration technologies. The goal of this tutorial is to educate attendees on what MDE technologies are, how exactly they relate synergistically to Software Product Line Architectures, and how to actually apply them using an existing Eclipse implementation.The benefits of the technology are so far reaching that we feel the intended audience spans technical managers, developers and CTOs. In general the target audience includes researchers and practitioners who are working on problems related to the design and implementation of SPLAs and would like to understand the benefits of applying MDE techniques towards SPLAs and leverage Eclipse as a framework to develop MDE solutions. The first half will be less technical than the second half where we cover the details of SPLA and MDE in action in complete detail showing patterns and code.
Keywords :
programming languages; software architecture; software houses; DSL toolkit; IBM; MDE tools; Microsoft; commercial companies; complexity ceiling; constraint modeling language; domain specific graphical editor; domain specific languages; eclipse modeling framework; graphical modeling framework; language tools; model driven engineering; object management group; software factories; software industry; software product line architectures; textual modeling language; Computer architecture; Industries; Model driven engineering; Tutorials; USA Councils; Unified modeling language;