MBSE Zero to One – Where to Start?

As a newcomer to Model Based Systems Engineering (MBSE) and the idea of Systems Engineering in general, I quickly was introduced to images like above.

Immediately following this, I’m told that this diagram is part of something larger called a ‘model’ and then they quote some guy named Jim (Delligatti), that “a model is like the mountain, and the diagram is just a picture of the mountain”. I have some marginal understanding now, but when I heard these things I thought my fellow engineers were starting to sound like yogis. To make matters worse, the information out there for understanding these things are not very good. There are books and courses you can take, but who wants to spend money on information in the Information Age? As your typical millennial, I expected to be able to find material on this topic for free somewhere on the internet if I just looked hard enough, but I still found that not to be the case.

This, I believe, is one of the major reasons MBSE faces such trouble with adoption at the moment- nothing is open or easily available! Information is behind paywalls and tools are expensive for your average person at home just looking to learn it. Even worse, big projects for organizations like the DoD or Army require an entirely new spin on methods, standards, and extra language vocabulary. (We’ll talk more about these later). There are free drawing tools out there, but no one in industry uses them so the things you learn don’t directly translate. In the software industry, if no one can get to the information to learn how to use your fancy tool or API quickly from something like StackOverflow or Reddit, adoption and understanding is hard to come by. If nobody can understand what the heck you’re doing, is it really valuable?

So I figured I’d make some guides myself.

The best way to learn something is to teach it. So in the next few articles, I’m going to guide you step-by-step how I learn MBSE and the systems engineering process from the eyes of a recovering software engineer- starting with reading SysML (Systems Modeling Language) diagrams. Now, if you got a computer science degree or any formal training in software you’re likely at least familiar with UML (Unified Modeling Language) diagrams. I graduated with a degree in Electrical Engineering, and as I get my Master’s in Computer Science I am just now learning UML is a useful thing after working in the industry for 3 years. So if you’re self taught or just getting started, don’t worry, I see things pretty much the way you do.

To Preface Things..

I also find a great way to learn a new skill is to take a little chunk of new knowledge and apply it immediately somewhere outside of the learning environment. So the way I’ll be doing this is through an example system. We’re going to create a software product from the ground up and learning the Systems Engineering process while we create the model around it. Usually this entire process is done because what a system requires and/or the amount of effort needed is SO complex, that you need a whole person just to kind of keep general track of everything. Lightweight versions of the SE process are always done for any product development in my opinion- they just may occur at once in someone’s head and never written down. But for this example we’re going to do this the long way with all the right documents and processes just so we can see how far the rabbit hole goes.

This will follow a perfect scenario.

Normally, I wouldn’t do that to you- the world is imperfect. However, I want these articles to be a complete start to finish look into how a system is born in our mind and ultimately designed in a model to be implemented (heck, maybe we will implement it). As I start my current role, the project that I got started on was already mid-way through implementation, but now we need to ‘go back and do it right’ in a sense with a formal process and create specific requirements to satisfy. Your situation may be similar or even further into the process, and if so, I recommend reading ahead to where you might find things most useful, try some of the techniques, and then come back to see all the steps that occurred beforehand.

So before we even get into reading the spaghetti that is SysML, modeling, and all of the diagrams, we’re going to talk about MBSE Step 0.1: the “SE” in Model-Based Systems Engineering.

Leave a comment

Your email address will not be published. Required fields are marked *