Software Engineering and Knowledge Engineering
Software Patterns
Software is nothing but patterns. A program is constructed from some
basic patterns, and the construction rules can in turn be expressed as
other types of patterns. With grammars, formal languages and automata,
there are many approaches to describe the basic patterns and how
they are composed into programs.
Specifications
Specifications are composed of patterns that are the basic building
blocks of formal, informal or visual specifications. The specification,
in the ideal case, can then be automatically transformed into programs,
and verified and validated in the transformational process.