Software Applications
Software might be applied in any condition for which a pre-specified set of procedural steps (i.e., an algorithm). It has been describes (notable exceptions to this rule that are artificial neural network software and expert systems). Information content and determinacy are the important factors in determining the nature of a software application. This content is refers to the meaning and form of incoming and outgoing information. For example various business applications make use of highly structured input data and produce formatted reports Software that controls the automated machine like numerical control which accepts discrete data items with limited produces and structure individual machine commands in rapid succession.
Information determinacy refers to timing of information and the predictability of the order. An engineering analysis program accepts data which have a predefined order that executes the analysis algorithm without interruption and produces the resultant data in report or graphical format. Many applications are determinate. On the other hand a multiuser operating system accepts inputs which have varied content and arbitrary timing executes algorithms which can be interrupted through external conditions and produces output that varies as a function of time and environment. With these characteristics applications are indeterminate.
It is somewhat hard to built meaningful generic categories for software applications. As the software complexity grows neat compartmentalization is disappears.