Expanding Legacy Systems Using Model-Driven Engineering (MDE)
May 2014 • Presentation
Presentation at SATURN 2014. Managing technical debt while expanding the capabilities of an existing system; using MDE to reflect the combined architecture of legacy and new systems; experience, pitfalls, and results.
Software Engineering Institute
This presentation was created for a conference series or symposium and does not necessarily reflect the positions and views of the Software Engineering Institute.
Applying model-driven engineering (MDE) to develop software architecture for a new project is challenging. Using the same technique for an existing project is even harder. Add the complexity of developing on top of an existing legacy avionics software system, and it seems like moving a mountain. However, it is achievable! Many software systems do not have existing models. Furthermore, a legacy system may be huge, and building a model for it is not a realistic goal. In a time of financial belt-tightening, customers want to be involved in all parts of the design and development process to ensure that their money is spent wisely. They often require a company to use the MDE approach to develop the architecture of their product because it is easy to understand. Thus, they can monitor the progress of the project to make sure it is on target before development begins. So how can projects being built on top of colossal legacy software systems adopt the MDE approach? We will cover
- managing technical debt while expanding the capabilities of an existing system
- using MDE to reflect the combined architecture of both legacy and new functionality to satisfy customers’ requirements
- personal experience, pitfalls encountered, and results