c distance to lower-level languages is significant. This is an analogy to the difference between high-level software languages and assembler languages, the former being more problem oriented, the latter more processor oriented. A modelling language for systems engineering should not be just a graphical version of a general design language, but should be based on con- cepts that are problem oriented with respect to the class of systems that are designed. AML is an example of a language that has a large semantic distance to model- ling languages that are aimed at software or hardware systems. AML supports modelling of distributed, real-time systems in general, by constructs such as: 1 Introduction to Systems Modelling A high-level separation of system functions (called functional space) between processing functions, communication functions and network applications. This structure also defines a number of generic models for nodes and a number of dif- ferent interface concepts. Concepts and patterns for protocol design, considering different types of trans- port services. Different notations for functional and physical structures. A unique state machine approach to real-time behaviour modelling. Since AML supports modelling of processing systems in general (see Sect. 1.4), the language includes constructs such as: Support for modelling the resource system. A conceptual modelling notation is provided. Support for modelling control structures. Concepts for client-server and peer types of interfaces are provided AML also specializes in modelling telecom systems (a special type of process- ing system) through e.g. the following constructs: Support for separating data flow interfaces from control interfaces. Data flow interfaces are those interfaces that exist between a resource system and system users. Control interfaces are those interfaces that exist inside the process control system, between system users and the process control system and between sys- tem operators and the process control system. Special notations for