An architecture description language is used to specify the structure of a system separately from its algorithmic aspects. Also known as Module Interconnection Language, Configuration Language. Examples include: * Conic Configuration Language (description at http://www-vs.informatik.uni-ulm.de/DOSinWWW/TextFiles/DPEnvironment/Conic.html) * Darwin (http://www-dse.doc.ic.ac.uk/Research/Darwin/) * Wright (http://www-2.cs.cmu.edu/~able/wright/) * Polylith (papers at http://www.cs.umd.edu/TRs/authors/James_M_Purtilo-no-abs.html) * OLAN (French document at http://www.essi.fr/~riveill/recherche/95-olan-francais.html). * Acme (http://www-2.cs.cmu.edu/~acme/) ''What is the difference between this and a CompositionLanguage?'' Probably very little, although ADL's are usually declarative, do not have many general programming features and may not be TuringComplete. ---- Note UML (http://www.uml.org) is not an ADL but it could be possible to extend some parts of UML to make them an ADL.