At its core, what is software programming? When you are programming, you are applying technical patterns to a domain. The technical patterns represent your team or industry best practices, choice of languages and technologies, choce of algorithms, etc. The domain is the reason you are programming, you are filling a need to meet some requirements. The domain is represented as a model. The model could just be ideas in your head, drawings or text, or some kind of formal model definition.
What if you had complete flexibility in defining the kind of model you want and what goes into it with no more modeling than you need to? What if you had a fully featured model oriented programming language where you could define your technical best practices in one place as model oriented properties? What if you had a powerful interpreter and IDE that could apply your technical best practices to any model to produce code and other information? What if you had complete flexibility in determining how little or how much of your code you want to create and maintain through this process (and stop using the process at any time)? What if you want to be able to use this process for prototypes, new work, new features, and/or upgrading to new technical patterns? This in a nutshell is Mo+!
Mo+ implements the decoupled form of model oriented development, where your model, technical patterns, and source code are independent pieces of work that can be evolved separately from each other. Mo+ uniquely combines focused and flexible models, a powerful model oriented programming language, and a complete integrated development environment to build and maintain models, and from those models create and maintain code and other documents in many flexible ways. The following diagram illustrates the basic Mo+ workflow.
Mo+ Solution Builder is the IDE that lets software developers create and maintain enterprise solutions, software applications, source code, and other materials very quickly. Business analysts can also use the environment to rapid prototype applications or produce other documents.
Mo+ is short for Model Oriented Plus, and is the model oriented programming language that gives users the ability to perform a wide variety of tasks such as creating and maintaining models, documents, and source code in any language. The language has some similarities to object oriented languages such as C# or Java, but has features directly geared towards model oriented development.
Mo+ is open source software available on GitHub, located here:
If you would rather run Mo+ as a separate application instead of an extension to Visual Studio, installers are available on GitHub for the standalone application.
The GitHub site also has additional documentation, sample packs of templates that can help get you started, and links to articles and step by step tutorial videos. Mo+ also has extensive online help with examples on using the language, creating templates, and generating code.
For more information on the forms of model oriented development, see this article: