Model Oriented Programming

Model orientation is a paradigm that does not differentiate between modeling and coding. This is referred to as model-code duality. This vision in pioneered by Dr. Timothy C. Lethbridge. A proof of concept tool is available online.

Model orientation is a natural evolutionary step in the development of programming languages. Looking back, low level programming languages were hard to read and maintain. As the need for larger and more complex systems, procedural languages evolved and developers relied entirely on compilers that will translate procedural languages to lower level language for machine execution. Later on emerged object orientation, where real life entities can be abstracted in the code. Model orientation is the next step in this evolutionary process. Not only objects are abstracted in the code, but also relationships between those objects and their behavior can be abstracted as well.

We have written a paper published in CASCON 2012 that explains this emerging trend and presents the results of an experiment of comprehension. This paper won the best student paper award.

This work is still on going. Umple, the proof of concept tool has been used in a number of industrial projects. Umple is now open source and is also being used as an educational tool.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s