Home Page   We Generate Your Software.
Products Services Company Technology Demo Contact Site Map Search
Please note: this document is currently under revision.
The information herein contained, while still valid, does not reflect the latest state of the described technology.
The Somusar/SoProTech[tm] Booklet Series
Volume I

"somusar/SoProTech: An Introduction"

Printer friendly

1. Introduction
2. Overview of SoProTech[tm]
3. Software Production Using SoProTech[tm]
4. Software System Layers and Pillars
5. Multifacet Software Entities
6. Software Molds
6.1 Examples of Somusar/Software Molds[tm]
7. Generatable Files
8. The Somusar/File Generation Scheme[tm]
9. The Somusar Languages and Language Processors
10. Structure of a SoProTech Project
11. Further Reading

Chapter 6 - Software Molds

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
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.

6.1 - Examples of Somusar/Software Molds[tm]        top

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
Figure 7 - A <tt>DB</tt> 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
Figure 8 - A <tt>LOGIC</tt> 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
Figure 9 - A <tt>UI</tt> 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
Figure 10 - A <tt>DOC</tt> 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]

http:// www.somusar.com  / doc  / booklets  / intro  - Powered by SoProMach
Copyright © 2003-2012 Somusar - Trademarks - Legal - Privacy - Webmaster