An Introduction to the Codenertia Genetic Framework

Welcome to the Codenertia Genetic Framework. It is an important part of Newayva’s revolutionary Pattern Driven Development (PDD) for software engineering.

Patterns are everywhere in software. Software development is verbose and redundant. It takes many lines of code for a programmer to describe tasks. Every line of code a developer has to write is a liability. The more lines of code required the more hours required. The more hours required the larger the team required. The larger the team required, the more oversight required. Oversight often comes in the form of: coding standards, code reviews and increase testing. Budget overruns are a major problem in the industry. In short, it is expensive. Removing the verbosity and redundancy is absolutely essential in removing these cost. This represents a gap in the marketplace, waiting to be filled.

The Codenertia Genetic Framework responds with a truly Organic Programming experience. Its inspiration comes from the human genetic process. DNA and RNA provide instructions for all of life. Software can use same concepts to model and resolve other patterns found in the natural world.

The Codenertia Genetic Framework is comprised of two layers: DNA (Data Notation Architecture) and RNA (Resolution Notation Architecture). DNA describes the underlying metadata. The RNA provides specific instruction on how the synthesize the coding instructions. This framework will provide an organic programming experience for developers and system architects alike. As a result, programming can be done more rapidly, concisely, and accurately than ever before.

Code generation is not itself an answer. It needs to be done in a specific manner in order to be effective. Generating code has been around since practically the beginning of computing. Competing frameworks create monolithic, illegible and ridged code. The generated code often has limited scope and breath. Overriding or extending the generated code from other frameworks proves to be problematic and complicated, often making it impractical. Furthermore, code generation tools are notoriously troublesome for team integration. Something else is needed.

The Codenertia Genetic Framework is unique. It provides a means to generate appropriate and well-thought out code at every level of a given application. It is comprehensive. This framework greatly reduces the overall cost in virtually every part of the development lifecycle. The Codenertia Genetic Framework reduces the number of lines of code a developer has to write. Every line of code a developer has to write is a liability. With the Codenertia Framework, the targeted code will meet the exacting standards of a skilled software architect with near absolute certainty, in a concise manner. The need for testing and review will be reduced. This should result in a reduction in the amount of hours required, the number of team members required, while simultaneously producing a much better end product.

The Codenertia Genetic Framework is based a simple set of flexible rules. These rules determine how an application will be structured. In comporting the Genetic Framework into a coding solution will render it resistant to technical debt. The generated code can be quickly adapted to fit a new pattern quickly and easily. When properly implemented, the code generated will be clean well-formatted and legible. The code will be well organized, structured, and will be correctly distributed over multiple files and projects.

The DNA is made up of declarative script (Markup) models with services, or put another way: nouns and verbs. Models have fields or properties. Fields have names, types, lengths, etc.… Models and fields can be changed with each successive generation. Models are identified and linked together using our PRPL tagging system. A database model is connected to one or more service models. One or more display components generally represent a given service model. A display model requires multiple actions, which correspond to various the services, connects to data repositories, and finally the database. Instead of taking the typical approach of spelling out all of the models (and each of the layers), along with each of the corresponding services, the DNA layer can describe these relationships with programmatic precision.

Changes can be made incrementally to the DNA and RNA files. These changes will commonly result in the need for a recompilation in order to be reflected in the generated code of the target application. There are number of common service tasks that can be implemented: data mapping (bi-directional), CRUD (create, read, update, & delete), validation, etc.…

The Genetic Framework is itself flexible and extendable. Additional methods can be easily: added, removed or replaced from the workflow. Consequently, new data source types can be used, languages and functionality added, and processes streamlined.

The Codenertia Genetic Framework can work with new or existing solutions. Changes can be made incrementally so as to get the desired results.

Stay tuned for videos and blog postings to describe and demonstrate specifically how this is done.