System engineering is a complex discipline, which is becoming more and more complicated by the heterogeneity of the subsystem components and of the models involved in their design. This complexity can be managed only through the use of formal methods. However, in general the engineering of software in such systems leads to a need for a mix of modelling languages and semantics; and this often leads to unexpected and undesirable interactions between components at all levels of abstraction. There are currently no generally applicable tools for dealing with this heterogeneity of interactions in the engineering of complex systems.
展开▼