The Ausbausprache - Abstandsprache - Dachsprache framework is a tool developed by professional linguists for analyzing and categorizing languages and dialects, and for distinguishing the concepts.
Ausbausprache (also called "ausbau language") is a language which has a standard spelling, a standard grammar and a relatively wide and clear vocabulary (and is thus almost identical with a standard language). Two language forms that allow easy mutual communication can nevertheless be regarded as two different languages if they are each an Ausbausprache according to this definition. Good examples are Serbian and Croatian, Dutch and Afrikaans and to some some extent Hindi and Urdu. The fact that a language is a national language or not is not important: for instances, Catalan is an Ausbau language. See also Abstandsprache.
Abstandsprache (also called "abstand language") is a language form that is so different from every other language that it cannot be regarded as a dialect of any another language, whether or not it is itself an Ausbausprache (almost identical with standard language).
Dachsprache means a language form that serves as standard language for different dialects, mostly in a dialect continuum, even though these dialects may be so different that mutual intellegibility is not possible on the basilectal level between all dialects, particularly those separated by significant geographical distance. In 1982, Romansh (by then called "Rumantsch Grischun" by most of its speakers) was successfully developed by Heinrich Schmid as such a Dachsprache for a number of quite different Romance language forms spoken in parts of Switzerland. Standard German to some extent functions in the same way.