MSS Code Factory is a model-to-source code manufacturing tool designed to capture a knowledge engineer's (i.e. programmer's) coding architecture and style through a General Expansion Language (GEL) XML syntax.
It produces a Java 8 Object-Relational Management caching architecture with pluggable persistent storage to DB/2 LUW, Microsoft SQL Server, MySQL, Oracle, PostgreSQL, and SAP/Sybase ASE databases, as well as an in-memory RAM repository.
It also produces a structured SAX XML parser for loading databases, and an X(ml)Msg implementation for client-server communications.
It produces an XMsgSrv WAR file and an SM (Security Manager) WAR file for deployment to unsecured and HTTPS-secured web servers, respectively.
Note that the security implemented over the HTTP connection requires that you have the unlimited strength cryptography installed on both your client and your server. I'm not interested in "watering down" security for anyone.
Development of a C++14 implementation targetting 64-bit Debian platforms is also in progress, though that effort may take a couple of years. The goal is to deploy C++14 servers with a mix of Java and C++14 clients. At some point in the future, the client code might be ported to Android as well, if g++ is used to target the ARM64 platforms.
MSS Code Factory is hosted for downloads by SourceForge.net.
The GitHub.com source repositories are all located at https://github.com/msobkow.
I find the combination a handy way of getting source and builds out the door.
MSS Code Factory is what I call a "Fractal Programming" system. It uses a rule base to specify a code fractal with mathematical precision, that is expanded based on those rules to produce predictable code.
It is also a self-maintaining system, in that its intial core focus was to create an expert system that would author domain-specific expert systems recursively.
Each generation "breeds" the next by writing the bulk of it. There have been 8 generations of the tool to get to this point (1.1, 1.3, 1.5, 2.1, 2.3, 2.5, 2.7., and now 2.9) Even numbered releases are for internal use and are not considered full generations.
When I work with MSS Code Factory on the rule base for producing applications, it is just like working with an infinite team of junior coders, all just waiting to implement whatever change I've made to the project "templates" (rules), and delivering the results in mere minutes.
It takes far, far longer to build and test the resulting code than it does to produce the code in the first place.
By using MSS Code Factory, your projects will see:
All of the 2.9 and 2.10 projects are now under an Apache V2 license so that you can incorporate and extend them as part of your project models.
You must be compliant with Apache V2 requirements. You are not allowed to use the GPLv2 with manufactured code, because it is incompatible with the Apache V2 license. GPLv3 is compatible as I understand it.
CFSecurity (Security base is included by all projects at a minimum)
CFInternet (A structured internet object hierarchy specifically designed for model ownerships)
CFCrm (Customer Resource Management -- an address book/information database)
CFAccounting (A primitive accounting system with atomic server-side transactions)
CFAsterisk (A configuration database for Asterisk which can be used to serve up configurations to an Asterisk server, with some work, of course)
CFBam (The Business Application Model for MSS Code Factory itself)
CFDbTest (A test database used to exercise the data types manufactured by the factory)
CFEng (An english-language sytax parsing database)
MarkII (An experimental chat bot that responds with posts selected from an imported Facebook history directory tree.)
CFFreeSwitch (A configuration database for FreeSwitch which can be used to serve up configurations to a FreeSwitch server, with some work, of course)
CFUniverse (A universal C++14 server that incorporates all of the above projects except CFDbTest.)
CFLib (the core library used by all applications)
CFCore (the core library of the engine itself, required for builds, but only required by projects if you use the manufactured msscf package to run a GEL instance over your model to convert model elements to text.)