A logic-based approach to system modelling
Anthony Rich, Marvin H. Solomon · 1991
Modelling a complex software system requires a description of how its components are related to one another.We propose a new approach to this problem based on logic programming g.A declarative system model is developed in which objects are expressed as terms that describe their form, functionality, composition, and origin.For example, the form of a Pascal compiler written in C is "C"; its functionality is to translate an object whose form is "Pascal" into an object of form "object code" while preserving functionality.Terms are patterna that can be matched against those of other object descriptions and tool signatures using unitlcation.Derived objects are requested by specifying a goal object having the desired form and functionality.A planning algorithm finds derivation patha in the system model from source objects to the goal.The planner produces a build plan-a logic program that, when executed, can produce the goal using the software development tools in the environment.All aspects of a software configuration are specified in a single language.Large software specifications can be described in discrete, manageable pieces.We present our approach in detail by working through an extended example.We discuss its advantages and limitations and outline our plans for further research on its applicability to a variety of problems in system specification and building.1.