ABSTRACT

There are several well established applications of category theory (CT) in theoretical computer science; typical examples are programming language semantics and concurrency. Modern software engineering (SE) seems to be an essentially different domain, not obviously suitable for theoretical foundations based on abstract algebra. Too much in this domain appears to be ad hoc and empirical, and the rapid progress of open source and collaborative software development, service-oriented programming, and cloud computing far outpaces their theoretical support. Model driven (software) engineering (MDE) conforms to this description as well: the diversity of modeling languages and techniques successfully resists all attempts to

classify them in a precise mathematical way, and model transformations and operations — MDE’s heart and soul — are an area of a diverse experimental activity based on surprisingly weak (if any) semantic foundations.