Semi-Formal Functional Software Modeling with TMK
Abstract
The Task-Method-Knowledge (TMK) modeling language is a formal mechanism
for describing a software system. It was created as a knowledge
representation framework for intelligent systems. The main idea behind
TMK is that effective reasoning about a system is supported by a
description of both what a system does and how it works. TMK models are
referred to as functional models because they focus on describing and
decomposing the functions of systems. Because TMK models were designed
for use in artificial intelligent systems, existing versions of the TMK
language require the enormous precision and formality necessary to support
automatic processing. However, the basic idea behind TMK, that functional
models of systems are useful for reasoning about those systems, also seems
appropriate for information to be used by humans. This paper presents a
new version of TMK which is less formal than the existing versions of the
language. This semi-formal version of TMK is intended to be used as a
software architecture modeling language for use by human software
engineers.