The cost of maintaining a software system over a long period of time far exceeds its initial development cost. Much of the maintenance cost is attributed to the time required by ne...
Learning how to create, test, and revise models is a central skill in scientific reasoning. We argue that qualitative modeling provides an appropriate level of representation for ...
Kenneth D. Forbus, Karen Carney, Bruce L. Sherin, ...
The model driven development is an interested area among software engineers as well as the agile development. In fact, combining model driven and agile practices is an interesting ...
In this chapter, we explore the emerging research domain of modeldriven software refactoring. Program refactoring is a proven technique that aims at improving the quality of sourc...
Superimposition is a composition technique that has been applied successfully in many areas of software development. Although superimposition is a general-purpose concept, it has ...