Conceptual Process Redactor (CPR) is a method and
system, for describing and translating conceptual descriptions of objects and their methods to OOPS object layouts and methods. CPR utilizes conceptual structures (C-structures or CPR classes), to describe information. C-structures are hierarchical information structures, and each hierarchical path is considered as a CPR
data type. Thus, instead describing data in terms of OOPS data types, which are bound to storage layouts of the underlying machines, CPR describes data in terms of CPR data types, which may be regarded as concepts. The CPR translator, translates the CPR data types to their Oops equivalents by making use of Type Translation
library, supplied with the CPR class description. CPR data types are unique within the class they are defined, and hence serve to identify the field as well describe a
data type. Thus, a typical usage like Part quantity field of sales order header is now a
data type in its own right, as well as a field. The uniqueness of the CPR data types is made use of in identifying the parameters of a method, if the context in which the method is invoked in known a priori. The CPR
system provides a mechanism, called
collaboration, to conceptualize process descriptions. As per
collaboration, a group of objects may collaborate to accomplish a particular task (method). The
collaboration serves as a context, and hence method invocations in CPR may omit the parameters, and these are identified from the collaboration. Each object acts as a
client and the rest of the objects and temporary variables, act as servers. The
client /
server relationship is made use of by process descriptions called CPR Interface groups, which are specified for each of the collaboration objects, participating in the collaboration. In addition, to the intra object
client /
server relationship, objects are broadly classified as data sources or data containers, where the first form is considered as a sequential representation of data, and the latter form is considered as a random representation of data. Each
data source may be grouped with zero or more data containers, and each such group is called a collaboration group. One or more collaboration groups may be specified in a table called the collaboration table, and collaboration groups with sequential group numbers are considered as a logical unit of execution. Thus, collaboration groups and the associated client /
server relationship between the objects in the collaboration groups, may be used to conceptualize fairly complex method descriptions. The CPR translator will translate the process descriptions specified as CPR Interface groups for the collaboration objects into oops methods. The CPR
runtime system provides necessary support to access / update the collaboration objects, and to invoke the oops methods generated during translation.