Larch
John Guttag and Jim Horning
The Larch Project develops aids for formal specifications. Each Larch specification has two components: an interface containing predicates written in the LIL[1] (Larch Interface Language) designed for the target language, and a 'trait' containing assertions about the predicates written in LSL[1], the Larch Shared Language common to all.
"The Larch Family of Specification Languages", John V. Guttag et al, IEEE Transactions on Software Engineering 2(5):24-365 (Sep 1985).
"Larch: Languages and Tools for Formal Specification", John V. Guttag and James J. Horning, Springer-Verlag, 1993.