Skip to main content

Modeling to Learn

Modeling.  Not the thing that supermodels do.  But modeling as in creating a representation of the ideal of some object in the world.  In order to understand something such as an apple, we need to observe and study it.  If we examine apples of different varieties we will see that they can all be described by an ideal apple, but of course only inasmuch as its constituant parts are concerned.  Each variety has its own charactertics, including skin color, taste, texture of the flesh, etc.  But all apples have a skin, flesh and core that makes them apples.

So how would someone go about modeling an object.  How does one model something anyway?  Usually we model with a modeling language (in the case of software architects, we use something called the Unified Modeling Language) which often times is a graphical language in which we can show very concisely and in brief what an object is and what it does.

Think about what an architect creates when designing buildings or playgrounds or whatever.  This kind of architect creates a blueprint.  Although it is specific to a particular building, playground, etc., it is created on paper or with computer software used for drafting.

In thinking about modeling I realized that as a software architect I use modeling language not only to create a design, but often times I use it when researching some concept or system in order to understand it and the possibilities for how other things similar to it can be constructed.  Essentially, like the noted author William Zinnser's who in his book called "Writing to Learn" (which is excellent) describes how he writes in order to learn, I model to learn.

So I thought I might try to show people how we can model things in order to learn about them, and using the Unified Modeling Language, which was created to model software systems, I believe that it is general enough to also describe non-software objects and their behaviors and interactions.  It might be the case that various types of diagramming objects in the UML are too software specific, and in these cases either I wouldn't use them, or I could generalize their structures to make them generic enough for real-world modeling.

I'm really not sure how to actually go about it or even if it is a good idea, but it will be fun to do and I will learn many things along the way... I wonder.  Ought I to build a model of my process in creating a book about modeling?  I can imagine that it might go something like this (in English and more a process than a model):

Thomas Clancy writes a book:
1. sits and thinks for a while
2. plays video games
3. thinks about writing in blog
a. fate throws 20 sided die where one side indicates that thomas will write in his blog
b. fate rolled "yes"
i. thomas writes in his blog about writing a book
c. fate rolls anything else
i. no blogging today
4. vegges out in front of television with a bowl of corn chips
5. goes to sleep thinking tomorrow would be a good day to write book
6. wakes up
7. starts back at step one

This is essentially my life.  Lots of thinking, eating, vegging and sleeping.  Alas!  I am a bum!


Hi Thomas. Nice post. I love conceptual data modeling too, and I also believe that modeling is a way to understand and discover the world, not just software.

I'd like to let you play with a model-driven web-based dev platform I'm creating with some of my students, which uses an extension of the UML class-diagram notation.

Would you like to join our beta-testing program as soon as we start it?

You can find the web-site of the company (it's a startup actually) at

Take care.
Thomas Clancy said…
Hi Antonio,

Thanks. Yes, I'd like to join your beta test. Thank you very much. It sounds intriguing.


Popular posts from this blog

Brainstorming, Mind Mapping, Curio

I use this really cool Mac OS X  (I mean, is there really anything better than a Mac?) software by Zengobi called Curio.  While it lacks many of the things I would like to see in such an application--you really can't go by what I write here because what I want hasn't yet been imagined, except by me of course and I am too lazy to do anything about it--it has great potential and I think that if Zengobi has the vision it can become even more powerful which is really cool.

Part of what it gives you is mind mapping, but unlike mind mapping tools that are all about just mind mapping, Curio gives you a blank canvas onto which you can drop any kind of resource such as images, documents, web pages, etc.  And you can organize all of these sorts of things as mind maps or structured lists.  Or you don't need to do that at all.  You can just be free to layout everything randomly.

It is also a project management application, but it looks nothing like any project management software.  Th…

Quilling and Chilling

Perhaps it's because I own a scrapbooking and papercraft store.  Perhaps it is the artist within.  Perhaps it's sheer boredom as I suffer this long period of employment drought.  But whatever it is, I've decided to learn more about papercrafts and especially something called quilling or paper filigree.

I'm not quite sure why I find fascination in such things.  I am a computer geek, programmer, software developer, etc.  It must go back to my childhood and my fascination with creating arts and crafts.  As a budding artist my bud was snipped from the tree of art, and I never did pursue it. But I love color.  I love how to mix it to create new colors, how to place complimentary colors together, how to match and blend and create things with color.

The tools and the techniques of quilling are deceptively simple.  I say deceptively because although it appears at first that you are simply rolling paper around a slotted rod, forming the rolled paper into one of a few basic shapes…

OS X Yosemite: Breathing new Life into my Old, Faithful Companion

So the other day I wrote that my MacBook seemed to run a little slower and use more memory.  What's strange is now that I've been using it, it's actually running noticeably faster.  It still takes up more memory, but not that much more.  It's like Yosemite has breathed new life into my aging companion.  There is probably something I can do about the memory, too.  What my Mac really needs is more space on the hard drive.  I have some serious cleaning to do.