« Why open source? | Main | Why miUML? »
Thursday
Oct202011

Which Executable UML?

We want the best of both worlds for the application (business/science) logic and the software design.  The models should be articulate and detailed representations of platform independent requirements without prescribing any particular implementation.  The developers and/or model compiler should be free to choose the best platform specific technology and implementation.  The models shouldn’t make programming decisions, and the developers shouldn’t be sticking their noses in the application logic.

Even though miUML models may be used to generate Java or C++ code, those very same models may target other languages such as Go, Python, plpgsql, C, assembler or even hardware circuitry.  So the model elements of miUML do not necessarily mirror those of Java or any other particular programming language.  Instead, miUML provides a level of abstraction better suited to expressing application logic without specifying implementation. So don’t go looking for implementation features like private method or static class in miUML, because you won’t find them.

We do not fancy ourselves language innovators.  Rather, miUML is an effort to realize the execution semantics, language elements and development philosophies already described in the following resources as a set of metamodels and an API:

Reader Comments

There are no comments for this journal entry. To create a new comment, use the form below.
Member Account Required
You must be a miUML member to post comments. Log in to your account to enable posting. You may sign up for a new account on the Join page.