Yearly Archives

5 Articles

Building a Map for System Engineering

(continued from part 1)

sundial-1388070_1280In order to better perform our jobs as system engineers, we need to understand the territory of systems engineering, guide ourselves from point A to point B in that territory, and be able to communicate our results to our stakeholders.  We understand our jobs by building and following a metaphorical map of the system engineering territory.  We make decisions about how to get from one point to another. We communicate to our customers by providing them another simplified map of the results that they can understand and relate to.  (Yes, the PowerPoint graphics so commonly used are a method of describing maps.)

You’re probably wondering why I discuss metaphorical maps and not the specific details of the system engineering process.  The reason is simple. Often we’re stuck in a very specific way of thinking.  An intellectual rut, if you will.  We’re locked into specific interpretations of our jobs and processes.  By thinking metaphorically, sometimes we can see relationships and open up to ideas we wouldn’t see without the metaphorical view.  If you’re willing, let’s explore this metaphor together.  Let’s back up, and ask ourselves, what is a map in general?

What is a Map?

For once, the dictionary fails us by not providing a good definition of map, so instead we turn to Wikipedia, where we learn that a map is:

…a symbolic depiction highlighting relationships between elements of some space, such as objects, regions and themes.

In a typical road map, as you might see on Google Maps, Bing, Apple Maps, or Waze (or many others) we see geographic regions and their relationships.  Some of the information includes relationships between cities via roads and relative locations.  We also see municipal boundaries and geopolitical extents.  We can see the relationships between cities and geographic entities such as rivers, lakes, mountains and shorelines.  Using more detailed views, we can delve down to the relationships between individual addresses and the corresponding cities and roads.

Of course, there are many different kinds of maps.  Maps have a specific scope and purpose, a specific theme.  Geographical, or topographical, maps are the most commonly used, but there are also many others.  Aeronautical maps that show airspace restrictions, radio frequencies and general aviation information.  Topological maps show relationships and connections, but no extraneous information (such as scale or distance) depending on the application.  Network maps show interconnectivity among communications nodes.  There are too many types of maps to mention here, but the interested reader can look into the subject of cartography on Wikipedia.

Given all the information on the maps, what do maps do for you?

  1. Provide information to find where you are, whether it be a city address or a network node (navigation)
  2. Describe the lay of the land
    • Show terrain, entities, and relative placement of the entities whether city addresses or network nodes
    • Show important llandmarks
    • Show entities of interest for the subject area
  3. Enable guidance
    • Provide information needed to decide how to get from one node to another
    • Allow you to find the best routes

There are things that maps do not do.  For example, a map can enable guidance on your available travel options, but the map cannot tell you how to get from point A to point B.  Should you travel by car, or by airplane?  The map cannot answer that.  Should you detour to visit an attraction, or drive straight through?  The map cannot make decisions for you.  The map, by itself, cannot tell you the process of getting from A to B, nor the decisions along the way.   It only provides the information necessary to enable the decisions.  Without the information, you can’t make the decisions necessary to follow your process.

To cross terrain, we need both a map and a process for making travel decisions.  The common GPS system in your car or on your phone is a combination of a map, and an application to handle decision making.  In this case, the decision making is restricted to particular assumptions, such as travel by automobile, and that the goal is either the shortest distance or quickest route.

If you think about it, a map comes pretty close to fulfilling my definition of a model:

  1. it’s a visual representation
  2. it’s a pattern of something else, which already exists in this case
  3. it captures information on structure, data and inferences
  4. often it is formalized, as in the case of GPS systems which store the map info in a database

Maps and Processes

System engineering is generally considered a set of processes with goals.  The main goal is to move from customer concept to design specification that can be handed off to other disciplines, like moving from one map point to another.  Where’s the information necessary to decide how to move? We describe our processes in System Engineering Management Plans (SEMPs) and measure our compliance to our processes, but we very poorly formalize the necessary information.  I believe the missing ingredient is the map of the SE landscape that provides the information for the necessary decision-making.

In my opinion, system engineers have spent decades developing processes, but far too little time developing and formalizing the map of the SE territory.  In order to make decisions, we need a complete model of the system engineering territory, including a model of the SE discipline itself and a model of the customer needs.

When building models and maps of decision-making processes, we start to venture into the realm of Enterprise Architecture, or EA.  For the purposes of this article, I’ll avoid any Enterprise Architecture specific terms.  My views on EA will be discussed in another article.

The system engineering territory does not need to be explored like a poorly known Louisiana Purchase by the Lewis and Clark Expedition. (A part of early United States expansion in 1804-1806.)  We’ve already covered the SE territory, but we haven’t documented it very well.  There have been maps of SE, like the image bellow of the schema from an old SE tool in the 1990’s, so the knowledge is there.  We just haven’t made that knowledge persistent.

RDD-100 Map

This particular map is of “Design Guide C” from the tool RDD-100 by Ascent Logic, Inc.  Oddly enough, the design guide (1 of 4 maps) was only documented in an alphabetically organized reference guide; this visual diagram was never provided by the vendor.  The picture only exists because I spent several days back in the 90’s exploring the reference guide to divine these visual relationships.

I believe that understanding the basic system engineering entities and their relationships is the key to improving the entire process of system engineering, and the solutions we generate.  In the next article, I’ll look at a simplified “map” of system engineering and what needs to be done to make it useful.

Part 3 is available here

Learn when the latest articles in this series are posted – Join the vmcse.com mailing list
216 views

The Information Side of System Engineering

First in a series

The Role of Information in System Engineering

mark-995567_1280As system engineers, we like to think that our jobs are to engineer at a system level, that is, we “enable the realization of successful systems” as INCOSE would say.  In order to do this, we address customer needs, operations, performance, cost and schedule, training and support, and to a lesser degree, test, manufacturing and disposal.  These are all very important areas to address if the system is to be successful.  If the system is to meet user needs, a discipline that coordinates and integrates these other disciplines is essential, hence system engineering.

System engineering is not a discipline of design.  We don’t design integrated circuits or printed circuit boards.  We don’t solder components to PCBs.  We don’t write production C++ or Java code.  We don’t install blade servers into racks and connect them with a specific network topology.  We don’t design mechanical parts to be machined on a Computerized Numerical Control (CNC) milling machine.  We don’t really do the “fun” stuff in engineering.

Instead system engineers have their own tasks.  We gather the user needs and wants, formalize them into requirements and create a requirements database.  When in doubt about a user need, we perform trade studies to determine the best implementable option, and document that in a trade study report.  We define the concepts of operation, system functions and logical architecture. We record all that in a set of specs and architecture documents, or better yet, in an MBSE database.  We create mappings between all the entities we defined and try to document those linkages.

Show Me the Datanotes-933111_1280

This is nowhere nearly a comprehensive list of what system engineer do, but there should be a pattern emerging.  System engineers tend to create documents, databases, spreadsheets, relationships and all varieties of information.  SE doesn’t produce deliverable system end-products; no software, no hardware, no electronics.  Instead, system engineering produces intermediate products.  System engineering gathers and synthesizes the information necessary to design and build a product to satisfy the customer.   The individual disciplines actually build the product. System engineers answer the critical questions the other disciplines need to know up front to do their jobs right.  System engineering is a discipline of gathering and synthesizing information then presenting it in such as way that it can be understood and used for communications both to the development disciplines and also to the customer.  System engineering is a discipline of information and coordination.

I am not the first to observe this.  Other authors have opined that system engineering is really an exercise of information management.  (I’d credit them if I could remember who inspired these ideas. If you know of anyone who also talks about this, please let me know so I can reference them and give due credit.)

Lately some educational institutions have issued degrees in system engineering, but in general we’re usually electrical or software engineers who transition into the field.  Sometimes we are specialized analysts who can synthesize new technical information.   Sadly, very few system engineers are skilled in information management.  For example, how many system engineers know what a relational database is, or what fourth normal form is?  Raise your hands!

I know many requirements engineers who cannot even use an important tool of their trade, DOORS, relying on others to perform input and export reports to Excel.  Engineers can use tools like Excel, yet must rely on others to help them get a DOORS export.  Heaven’s forbid they use Access or mySQL to manage information. Even fewer probably know how to use Microsoft Query to extract and cross reference information.

MBSE as Information Management

I believe MBSE is an industry attempt to do more information management for system engineering.  MBSE attempts to capture system engineering information in a single model and database.  Unfortunately MBSE stops well short of fulfilling its promise.  In general MBSE models will address architectural, behavioral and structure information, but fail to address other aspects of system engineering information.   Most MBSE tools, especially those based on SysML, cover a limited territory of information concepts.  Often these tools address the end product itself, and not the full field of information concepts that system engineers deal with.  Other tools are used to address other information, such as requirements, planning, testing, trade studies, simulations and visualization.  Although these tools have their own models, seldom are the models well integrated.

The Map and the Territorysundial-1388070_1280

It should be obvious that there is a very large territory of information that system engineering covers.  When communicating, we do so in the context of the map we’ve created for that information territory.  This can be an issue if somebody in a different context doesn’t understand the map we use.  If the map omits critical information for the other party, then the communication fails.  If the map presents information in an unusable format, communication fails.  If the terminology and concepts are incompatible, communication fails.  MBSE might provide a limited map that uses common symbols, but much of the remainder of the map only exists in our heads, making it difficult to share.

How do you determine what information other people need?  How do you anticipate their queries?  How do you store and present information in a flexible manner?  These are some of the issues that should be addressed to fulfill the information management needs of system engineering.

Do You Have an Information Management Problem?

Many organizations will dismiss this idea out of hand.  “We’re doing just fine information-wise, thank you.”  Perhaps your organization hasn’t fully examined the issue.  How do you know you have an information management problem in your system engineering department?  With a tip of the hat to Jeff Foxworthy, here are some real world clues you might have an information management problem.

If you’re not doing MBSE, you might have an information management problem.

If your engineers manipulate requirements in Excel and you have separate administrators who handle the DOORS database, you might have an information management problem.

If a requirement in DOORS has an attribute called “Proposed Change”, you might have an information management problem.

If your information is linked to your MBSE database solely via a text attribute called “Allocated CSCI”, you might have an information management problem.

If you don’t understand the difference between a configuration item and a component, you might have an information management problem.

And my personal favorite:  If a requirement in DOORS has over 100 attributes, you definitely have an information management problem.

Part 2 is available here.

Learn when the latest articles in this series are posted – Join the vmcse.com mailing list
198 views

How a Document-Based Approach Differs from Model-Based

clock-1081013_1280Part 2, Addressing the Differences

In a previous post I derived a definition of MBSE.  The challenge that often comes up is, “Aren’t configuration controlled specification documents and requirements databases just another form of representation?  Another form of model?”  Indeed, they were the basis for models in the past, because in many cases the models resided only in the brains of the customers or designers.  The only way to communicate those models were through human language and pictures, hence specifications.  Nowadays specifications fail to fulfill modern systems engineering needs for a number of reasons.

First of all, specifications are not visual representations, but descriptive representations.  The system is represented in words, with an occasional graphic to either clarify, or possibly confuse, the description.  Descriptions rely on the underlying written language.  Written language is inherently flexible in interpretation.  Grammar is often flexible and dynamic, although more so in spoken language. The underlying information can easily be interpreted multiple ways, depending on the recipient.   Additionally, there are no rules on how to describe a system using written language and only the most simplistic rules on the structure of a formal description.

In MBSE, the language is tightly controlled so the possibility of misinterpretation of the model is greatly reduced.  Languages for MBSE, such as SysML, have specific rules for how to represent elements in the system and how language elements can interrelate.  Furthermore, the graphics generally are coupled to the language, further reducing ambiguity.

Secondly, in written language the strategic information is merely described; the information has no form itself.  A description of an element within the system might require many descriptive statements.  An engineer can’t point to a single form of that element.  At best, the engineer can point to a loose grouping of text that describes the element.  Textual representations fail to give form to the information.  In MBSE, the system elements and strategic information are individual entities in some type of repository or database.  Those entities carry their characteristics with them.  A repository of elements and information is what really makes MBSE “model based.”

For these two main reasons, legacy document-centric approaches to systems engineering simply do not meet the intent of modern model based approaches.  Yet, let’s face it; textual requirements are not going away any time soon.

The Legacy Runs Deep

Systems engineers still will use textual requirements for the foreseeable future.  It’s much easier to create a legal contract around a textual description than a graphical representation, even if the representation resides in a controlled database.  It’s much easier to develop verification procedures and checklists around single textual statements than around pictures.  Under MBSE the textual requirements get de-emphasized instead of being dropped completely.

Under MBSE, textual requirements should be derived from the content of the model.  If the tools to create that model were chosen well, the syntax of the model should be well-formed and translate into textual representations fairly easily.

Summary

Documentation is inevitable, but under MBSE it changes from being the end goal of the systems engineer to being reports that describe the underlying system entities.  The specifications and other documents report on the model rather than being the model.  This is the essential difference between document-based systems engineering and MBSE.

 

Learn when the latest articles are posted – Join the vmcse.com mailing list
1,759 views

What is MBSE?

clock-640x401 copyPart 1, Deriving a Definition

Every field of technology has its buzzwords and fads.  Systems engineering is no different.  The latest buzzword is Model-Based Systems Engineering, or MBSE for short.  Is MBSE just a buzzword or real change in how systems engineers do their jobs?  Not surprisingly, there are still systems engineers who don’t understand what MBSE is.

A key reason that some SEs still have a blank stare on their face whenever MBSE comes up is that many don’t understand what the term really means.  They can expand the acronym, but still not have an understanding.  For many systems engineers, MBSE exists only in contrast to legacy systems engineering, which was document based.  A document based approach was what most experienced systems engineers learned on the job, and have used throughout their careers. Without a real understanding of MBSE, systems engineers will return to what they know: textual documents, PowerPoint and Visio graphics.

To move SE forward to a MBSE mindset, we need to resolve this issue of understanding; we need to define what MBSE really is.  Let’s walk through a process of finding or deriving a definition for MBSE.  Along the way we might learn a few things too.

Unfortunately, when you have a buzzword or phrase with vague terms in it, you really have no choice but to delve into the definitions of those terms.  When in doubt about a definition, I first go to either a recognized authority, or the dictionary.  In this case, we can look to INCOSE as a recognized authority. INCOSE’s SE Vision 2020 provides this definition of MBSE is:

“…the formalized application of modeling to support system requirements, design, analysis, verification and validation activities beginning in the conceptual design phase and continuing throughout development and later life cycle phases. MBSE is part of a long-term trend toward model-centric approaches adopted by other engineering disciplines, including mechanical, electrical and software. In particular, MBSE is expected to replace the document-centric approach that has been practiced by systems engineers in the past and to influence the future practice of systems engineering by being fully integrated into the definition of systems engineering processes.”

INCOSE also provides a definition of systems engineering:

“Systems Engineering is an interdisciplinary approach and means to enable the realization of successful systems. It focuses on defining customer needs and required functionality early in the development cycle, documenting requirements, then proceeding with design synthesis and system validation while considering the complete problem: Operations, Cost & Schedule, Performance, Training & Support, Test, Disposal, Manufacturing.

Systems Engineering integrates all the disciplines and specialty groups into a team effort forming a structured development process that proceeds from concept to production to operation. Systems Engineering considers both the business and the technical needs of all customers with the goal of providing a quality product that meets the user needs.”

Unfortunately, these definitions don’t help very much.  They essentially say only that MBSE is an application of modeling that supports the process of systems engineering.  So, what is modeling, or a model for that matter?  This time we can go to the dictionary.  Merriam-Webster has many definitions for “model”, but these seem to be the most pertinent:

Model; noun:
3: structural design
4: a usually miniature representation of something; also: a pattern of something to be made
11: a description or analogy used to help visualize something (as an atom) that cannot be directly observed
12: a system of postulates, data, and inferences presented as a mathematical description of an entity or state of affairs; also: a computer simulation based on such a system

For our purposes, I’ll combine these and synthesize one big definition:

Model; noun: a representation, generally visual, serving as a pattern of some thing to be made, including information such as the structure, data, states, behavior and inferences about the thing

We have a pretty good idea of what a model is now; it is the representation of important information about a system. That information will be unique to the specific system based on the purpose of the system, unique technology,  regulatory issues, and schedules, among other constraints.  The information will serve to plan, organize, direct and control the lifecycle development of the system, with an emphasis on design and development in the case of systems engineering.  We might even describe that information as strategic.

Still, there’s something missing.

Pinned to my office wall is a visual representation of a 10 step process to follow to perform systems architecture.  It’s a visual representation of a pattern of steps, and it captures strategic information, but it’s still just a collection of pixels printed on a large sheet of paper. I can manipulate the pixels to adjust size, shape and color, but I can’t manipulate the strategic information.  The information has no independent form.

The representation is just a means to visualizing the information.  In order to manipulate the information underlying the representation, the information needs to have its own form.  It needs to exist in a repository, and there needs to a single controlled copy of it.  Furthermore, it needs to have a syntax and meaning to it so that engineers all interpret it the same way.  The information needs to be “formalized,” which is supported by definitions in the Merriam Webster dictionary.  (Reviewing the dictionary in this case is an exercise left for the reader.)

If we accept this derivation process, combining definitions of modeling with systems engineering, then our definition becomes

MBSE: the process of creating formalized representations, generally visual, that 1) serve as patterns for systems to be made and 2) capture strategic information about the systems, in order to realize those systems successfully.

Personally I think this is a better definition than INCOSE’s, but there is some pride in authorship.

The principles behind MBSE do change the way SEs approach the discipline.  The approach radically shifts from writing descriptive documents to an exercise of managing critical information that describes the system patterns.  Documentation is inevitable, but under MBSE it changes from being the end goal of the systems engineer to being reports that describe or visualize the underlying information architecture.  The documents report on the model.  The quality of the information in the model and its organization are the new goals of model based systems engineers.

The next time you need to explain what MBSE is, you have not only a better definition to use, but you should have a better understanding of how the definition came about.  For that matter, if you want to challenge the definition, you now have a basis for creating your own.

The typical challenge to this definition is addressed in another post.

 

Learn when the latest articles in this series are posted – Join the vmcse.com mailing list
529 views