Incomplete draft: do not cite!

Historically, declarative programming emerged from the AI research community between roughly 1970 and the early 2000s.  Many people would consider it to be AI.  I’ll stick with the term declarative programming here both to emphasize that it’s a set of tools for authoring, and also because in today’s media environment, calling something AI tends to make most people assume we’re talking about machine learning, which we aren’t.

Another equally good term would be knowledge representation.

Whatever we call them, these techniques aim to let designers better communicate their intent to the system.