pecification language is used but that meta-primitives are defined and they sup- port the chosen LSM language. 3. If the layers support associations, a specification of association control primi- tives in SAGs. 4. A specification that describes how invokes and association control primitives are mapped on message types. 5. Any other additional specification, describing other agent layer functions, such as error control, fragmentation, etc. AMLs is a specification method that can be used for the first three specification types. AMLp supports specification of the last two, i.e., of LPMs. D2 AMLs AMLs is described in detail in Chap. 7 of Muth (2001). In the present chapter we give a summary of AMLs. It has two basic characteristics: 1. It is intended for specifying behaviour in terms of state machines, which is a very suitable method for describing the behavior of controlling functional ele- ments (of which there are many in a network system). Since every system today is supposed to be object oriented, it is important to understand that there is noth- ing in the concept of a state machine that says that it must be object oriented. With the exception of some application layers in some network systems, most existing standardized layers are not. 2. AMLs models systems of elements, where the possible distribution of individual elements is transparent to them in communication. Their communication is therefore described as if they were all running on the same platform. Since that might not be the case in reality, the AMLs way of describing communication is an abstraction of message communication. The type of invocations between AMLs elements is called abstract service primitive (ASP), a commonly used concept in ITU-T standards, for example. An instance of an ASP is referred to as an (abstract) event. The notion of abstract communication and abstract ele- ments permeates AMLs. A consequence of these two characteristics is that the events that trigger transi- tions in an AMLs state machine are ASP events, not message types (