A typical software development project may be described
in several ways. One of the most frequently
used representation of software projects shows a sequence of steps
where an analysis phase is followed by a design stage;
a development phase and a testing phase, followed by
the system deployment and maintenance phases, complete the cycle.
Each stage provides feedback to its predecessor stage,
thus allowing to correct problems or improving some
aspects of that stage.
Figure 1 - Role of SoProTech in a software project
The illustration below shows where the SoProTech can mainly be applied in
such a software development project: the stage of development
in a broad sense - including the production of technical
documentation - and the final maintenance stage are the stages that can
most benefit from the SoProTech. Moreover, some of the activities
involved in the design and testing phase can be significantly improved
by means of the SoProTech. Finally, in some specific cases
or tasks of the analysis and deployment stage the SoProTech
might also prove to be useful.
The overall picture of SoProTech is shown in the next figure.
Main components of the SoProTech are the Somusar/Software Production Machine[tm], a software "machine"
that takes as its inputs Software Entities on one side, and Somusar/Software Molds[tm] on the
other, and produces as its output virtually any type of
software source code files, collectively referred to
as generatable files.
Figure 2 - Overview of SoProTech
The written texts in the rear part of the illustration above,
as well as the background of the picture, represent the
target of the SoProTech: high quality source software in virtually
any human-readable computer language (the generatable files), automatically
produced by the high-speed Somusar/Software Production Machine[tm] (in short,
SoProMach[tm]), which is represented by the toaster-like appliance in
the front center. Obviously, the "appliance" is only a convenient
graphical representation of the software production process,
which is actually performed by
the Somusar language processors, Sisendel and Tefigel.
The small pentagons on the left represent Somusar/Software Entities[tm], which are
text files describing structure, properties and facets
of software entities using the Somusar/Sisendel[tm] computer language.
The drawing molds on the right represent Somusar/Software Molds[tm], each
providing instructions and guidelines to automatically
produce one given type of software file, such as an SQL script,
a Java[tm] class, a COBOL program, or an HTML form, or many other types.
In short, the Somusar/Software Production Technique[tm] works as follows:
the Software Entities are provided as input to the SoProMach, which
processes them through the project-specific Software Molds, and produces
in output a usually large number of software files.
For example, a Software Entity
file "business/project.ef" can be processed through a set
of Software Molds by the
SoProMach to rapidly produce for that entity
the following set of consistent source files:
The complete generation, or re-generation, of the above
source files is accomplished by the SoProMach
in less than one second on a regular x86 PC running Linux®.
Comparable results can also be achieved under Apple® Mac OS® X on PowerPC®
or under Microsoft® Windows® on x86.
- An SQL script "business/DB/project.sql";
- A Java[tm] class source file "business/LOGIC/Project.java";
- A C++ class source file "business/LOGIC/Project.h";
- An HTML edit form "business/UI/project.html";
- An HTML documentation file "business/DOC/project.html";
- A plain text metadata file "business/CORE/project.toc".
[Back to top]