A formal classification of primitive tasks for knowledge-based system applications in industrial automation is presented. The classification is based on a system theoretic perspective using the direction of temporal reasoning as the metric for classification. This classification is canonical with respect to time and can, therefore, be used to define primitive elements in constructing more complex tasks that are termed systems. Tasks and systems are used to define a multilayered architecture that provides both a problem decomposition, relating systems to tasks, and a set of generic knowledge-based tools, each satisfying a task description and determined by an epistemological analysis of the domain. A comparison between the architecture presented herein and other approaches to 'knowledge-level' analysis is given.