Aspect-Oriented, View-Based, and Orthographic Software Modelling: are we solving Accidental Complexity or just moving it around?
Model-Driven Engineering (MDE) aims at shifting the focus of software development from coding to modelling. The underlying goal is to address the ever-increasing complexity of software systems by tackling problems at higher levels of abstraction and then providing model transformation mechanisms to close the expressiveness gaps between abstractions levels. It is worth noting that a gap exists not only between design models and running code, but also with testing environments, formal verification tools, and so forth. In this respect, we could define accidental complexity as the additional effort required by the user to help the tool in closing those gaps. As expected, the more is the effort, the more will be the reluctance to adopt MDE in a given application scenario.
Aspect-Oriented, View-Based, and Orthographic Software Modelling are three well-known approaches that try to reduce accidental complexity by adopting the principle of Separation of Concerns: a complex problem can be decomposed in different sub-problems, each of which entails a specialized reasoning due to its participation context in the overall system under study. This talk discusses the three mentioned technologies and how they deal with accidental complexity with a basic question in mind: do they solve accidental complexity or are they only changing the way it has to be faced by the user?
Mälardalen University, Sweden
antonio.cicchetti(at)mdh.se
http://www.idt.mdh.se/~acicchetti
Dr. Antonio Cicchetti is a Senior Lecturer of the Innovation, Design, and Engineering Department at Mälardalen University, Sweden, since 2008. He got his Ph.D. in Computer Science in 2008 at the University of L’Aquila with the thesis entitled “Difference Representation and Conflict Management in Model-Driven Engineering”. His research interests include techniques for model differencing and version management in current MDE platforms, domain-specific modelling languages, multi-view modelling, and (bidirectional) model transformations. Moreover, he is involved in the implementation of MDE techniques for the development of component-based embedded systems in industrial applications.