 concept of "general systems the- ory". This movement aimed at establishing a theory for systems in general that could bridge the domain specific differences between academic disciplines and identify common views on systems, whether artifact systems or biological systems. In spite of the enthusiasm for that goal and some exciting early results (mostly regarding management and biological systems), see e.g. Miller (1978), today there are few signs of that movement. The most likely explanation is that the scope was too broad to produce some- thing useful for the industry. It lies in the nature of the problem that, if the domain of the targeted systems is too broad, it becomes very difficult to agree on anything more specific than "a system consists of related parts", which is not very helpful when one is faced with the problem of modelling a particular system. It is also symptomatic that (as general-purpose modelling techniques) only methods for knowledge representation have come in productive use, very much due to the progress in information systems engineering during the 1980s. These methods are called "semantic diagram", "conceptual modelling" or "entity-relation" techniques, see e.g. Chen (1976), Bubenko and Lindencrona (1984) and Wangler (1993). In a sense, the idea of a "general systems theory" has the same generality as has "software engineering", i.e. it is applicable on a very large domain of systems. What is lacking, however, is a theory that can support modelling of systems that are domain but not implementation technology specific, i.e. fall somewhere between general systems theory and software engineering (or hardware engineering, for that matter). This is depicted in the taxonomy in Fig.1.1. According to this taxonomy, it seems natural to develop separate modelling techniques for each major domain of systems, since each domain has its own specific problems and uses its own specific vocabulary. Domain-specific modelling languages could then be taken as a prereq- uisite to understand and advance in "gene