A Somusar/Software Mold[tm] is an implementation of the Somusar/File Generation Scheme[tm], which is
a predefined set of steps to construct a software file, as explained
later
in chapter 8
.
Software Molds consist of pre-structured file-system subtrees
containing a set of scripts, written in Tefigel, that allow the high-speed
production of exactly one generatable file per mold, starting from
any given Software Entity within a project.
A Somusar/Software Mold Kit[tm] is a set of Software Molds divided in groups (subdirectories)
according to the software logical block that they
belong to within the target software system: for example,
there might be two different molds to generate two different
types of HTML files, one for the usage interface (layer UI),
and the other for documentation purposes (pillar DOC).
The following table shortly describes each mold group,
relating the set of files that its molds can generate to the
corresponding software system logical block.
Table 1 - Mold groups and software layers
Mold group name
|
Related logical block
|
Examples of generatable file
|
CORE
|
Internals of an entity
|
Metadata description file
|
DB
|
Relational data base, legacy back-end system
|
SQL table creation script
|
LOGIC
|
Business logic and data processing
|
Java[tm] or C++ class, COBOL source file
|
UI
|
Usage interface, for both human users and external software systems
|
HTML form, XML interface
|
DOC
|
Documentation about the entity
|
HTML document
|
Each time the Somusar/Software Production Machine[tm] processes an entity, it applies
all relevant molds to the entity, in order to produce
the set of project-defined generatable files, as shown in the
following picture.
Figure 6 - From entity and molds to software files
Thanks to their structure, the Software Molds are extremely flexible,
and can be very easily moved from project to project, and from
team to team, thus allowing common guidelines and
"best practices" to be shared among the members of one or more
projects and development teams.
The following illustrations show examples of the directory structure
that a Software Mold consists of.
The first mold allows to generate an SQL script file for the
DB layer. The illustration below shows that the process
of generating that SQL file requires 2 consecutive steps,
corresponding to the subdirectories 1 and 2 of the mold
directory "DB/mold1-.sql".
Figure 7 - A DB mold to produce an SQL script
The second mold allows to produce a Java[tm] class source file
for the LOGIC layer, and requires five steps.
Figure 8 - A LOGIC mold to produce a Java[tm] source file
The third mold is aimed at producing an HTML UI
(usage interface) form. This particular mold is very simple,
compared to the previous examples,
as it does not require any step at all.
As a matter of fact, this particular mold takes advantage of the result
of other molds, applied earlier in the generation process.
Figure 9 - A UI mold to produce an HTML form
A fourth mold produces an HTML DOC file in three steps.
Figure 10 - A DOC mold to produce an HTML file
To avoid unnecessary complexity, that would negatively impact
the objectives of this tutorial introduction,
the molds used for the generated code examples have been kept
deliberately simple, in that they generate a very small
part of the software that can be generated using the SoProMach.
For example, the Java[tm] mold shown above
produces fairly straightforward Java[tm] classes, by far much
simpler than the set of classes per entity required by, for instance,
the application model of J2EE, the Java[tm] 2 Enterprise Edition.
On the other hand, the set of classes per entity required
by J2EE is an excellent "real-world" candidate for a
corresponding set of Software Molds.
[Previous chapter]
[Next chapter]
[Back to top]
|