Most systems have the properties they have because they were designed that way, either by humans or by nature, not because they “emerged”.
Systems engineering
What is a system?
Since much or our lives today depend on systems and many of the biggest risks for individuals and for humanity as a whole emanate from systems, it is imperative that we have proper methods and tools to build useful and safe systems.
Seeing the pattern – or not
My late roommate from Stanford, John Vlissides (he passed away much too early), went on to co-author a book Design Patterns: Elements of Reusable Object-Oriented Software that has had quite an impact on the software development community. According to Wikipedia it was in its 39th printing in 2011. I read Continue Reading
Meticuously matching metamodels
Many commonly used tools assume a very specific conceptual model of the world. The tools might be geared to manage classes, operations, attributes, and relations (UML editors), fields, projects, screens, and roles (Jira), inputs, outputs, controls, and mechanisms (IDEF0 editors), or filters, pins, and connectors (DirectShow GraphEdit). The chosen concepts Continue Reading
Do the things we model exist?
When describing a metamodel it is often difficult to keep apart the description (model) of something and the thing itself. If I want to describe a metaclass representing a system function for instance I find it easy to slip and start talking about the real-world function when the intention was Continue Reading
Everything is model-based
Today I visited a company called Sörman (yes, they’ve kept the umlauts in their name which I applaude) and listened to a seminar. One of the speakers gave me the following insight: In traditional development methods information is stored in documents. But, every time the information is processed by humans, Continue Reading
What is the meaning of semantics?
“Semantics” is a word often used by people that I work with and call friends (should I be worried?). The word has always struck me as vague. I have usually conveniently ignored that and happily joined any interesting discussion or debate. I’m currently involved in the design of a couple Continue Reading
Going meta
When creating a modeling language, it is necessary to create a model (textual, graphical or some other kind) of the modeling language. This model is known as a “meta-model” or a model of the model. But what is the modeling language for describing the meta-model? What does the meta-meta-model look like?
What’s a good tutorial?
Like any engineer, I have many times had to learn something entirely new. What I learned at the university is either obsolete or forgotten. This prompted me to reflect a bit about what makes a good tutorial; how does one best learn things like a new programming paradigm, a new Continue Reading
Climbing Mt Complexity
I have rewritten this post numerous times, I have deleted it and republished it. This is typically a sign of that I have a gut feeling about what I want to write but I haven’t yet been able to put words to that gut feeling. The rest of this post Continue Reading