Základní myšlenkou koordinačních modelů je rozdělení systému na koordinační entity představující jednotlivé komponenty souběžného systému (typicky procesy). Dále se zavádějí koordinační média (semafory, monitory, předávání zpráv,...) a koordinační pravidla definující způsob komunikace entit přes tato média. Koordinační model je popisován pomocí koordinačního jazyka. []
Pro distribuované systémy, u nichž je komunikace klíčovým prvkem, byly vyvinuty různé koordinační jazyky. Tyto jazyky mají většinou charakter koordinační nádstavby nad existující programovací jazyky. Jedná se tedy o rozšíření syntaxe programovacího jazyka o konstrukty umožňující popis koordinačních vztahů. Rozšíření sémantiky potom definuje pravidla koordinace. Příkladem koordinačního programovacího jazyka je např. Objective Linda [] nebo JavaSpaces [].