MBSE and SysML Best Practices

Modeling The Relevant Domains

Acquire domain languages to simplify and lower the cost of enterprise modeling

Start enterprise modeling with domain models


Who is domain modeling for?

You are an enterprise/solutions architect leading a development team of software and systems engineers. You have been tasked with defining and establishing the standard and best practices (methodology) for the team and for the department. You are in the process of adopting MBSE, SysML, and other modeling languages and tools, so you are organizing the trainings for your team members, working on enrolling other teams in the adoption, and to top it all off, you are in charge of "architecting" the enterprise and establishing the blueprint and framework for system architecture in the model-based environment.

What exactly are your skills?

If you are an employer looking for someone like that, what do you write in the position's requisition?

What is domain modeling for?

Obviously, as an enterprise modeler, you must be above and beyond being experienced at SysML and UML modeling. Yes, you have accumulated a few framework certifications and black belts in Agile and all sorts of "BOK" programs. But in the end, none of those equip you with the specific knowledge and skills that a head enterprise architect requires to fulfill all of the above requirements.

In that "enterprise architect" role, you will work with advanced and "meta" practices. A meta practice is a practice for designing practices, frameworks, and toolsets for other roles in the team or organization. Your purview of systems engineering and enterprise software development focuses on the backdrop, the developer's superstructure and infrastructure, before system architecture. Your role is similar to that of a process control engineer who fine-tunes the factory and optimizes the facilities for other engineers and technicians to operate in.

One of your superpowers is "domain modeling." This is what this post will introduce you to.

Every engineered system is built to serve within a specific domain of practice. For example, a system that aids in mission planning could exist within the domain or spaceflight in the astronautics industry, or within the domain of battlefield in warfare.

Domain models establish the relevant ontological space around the system under consideration. Ontological refers to the linguistic framework as the basis for what something is. What it "does" falls under functionality. Therefore, the domain model constrains communication amongst stakeholders, technical and business, to a small, finite set of fundamental concepts that are specific to the domain.

For instance, the domain of battlefield is modeled in terms of a location of ground warfare, terrain, the point of contact between opposing forces, and the strategic importance of the geographical location. That domain model could be further extended to include "multi-domain battlefield", which is the interconnection of multiple battlefield ranges of concern.

Domain modeling requires a domain-specific language (DSL)

"A DSL is a computer language specialized to a particular application domain. This is in contrast to a general-purpose language (GPL), which is broadly applicable across domains." (Wikipedia)

Your internal development standard determines whether the modeling strategy requires DSLs, or a general purpose language such as the Unified Modeling Language (UML), in order to model the baseline for building systems and enterprise applications in the company you work for. The choice between the two will depend on whether a project can greatly benefit from a DSL. There is a high cost associated with developing, or adopting, a DSL in-house and must be accounted for in your enterprise technology investment plan. A central component of this cost is the high pay rate that companies are willing to spend for hiring someone with the skills and meta practices mentioned in this post.

The strategic value of domain models

Generally speaking, DSLs offer great value in model-driven development environments. They are the basis for generative technology. Model-driven development is an advanced extension of model-based development where models at higher semantic levels are utilized to generate downstream models—e.g., design and implementation models—and eventually, software code. Model Driven Architecture (MDA) is the standard for model-driven development.

Other application areas for DSLs are projects building enterprise software applications for a specific profession, say accounting, or a specific domain, such as Enterprise Asset Management (EAM). The idea is for the lead enterprise architect (the role) to hand application modelers the precise language that the application intends to serve. The power this grants you is, instead of thinking in terms of classes, associations, and parts as your fundamental building blocks, you are thinking in terms of domain constructs, such as, Asset, Asset Type, Asset Management Plan, and Asset Lifecycle. The latter cuts development costs by an order of magnitude. This makes it a long term strategic investment in technology, and even, intellectual property if you were to invent your own languages.

In some cases, language invention can be appropriate for what is needed. For example, in a recent project we invented an “interaction modeling language” for application modelers to build apps based on the interactions that occur in real work scenarios, say for example, the interactions between a physician, an assistant nurse, and a patient in a clinical visit. In this manner, you can devise non-standard methods for building software apps on a behavioral basis, not system structure.

In your modeling journey, so far, you have utilized languages such as SysML, ArchiMate, and BPMN. These are “extensions” of the base modeling language UML. You can think of SysML as a domain specific language for the domain of Systems Engineering. SysML, as well as ArchiMate and BPMN were built as extensions of UML using UML Profiles for their respective domains.

Next steps

If you are in the role described at the top of the post, or perhaps you simply want to advance your career, one of the hands-on training products we developed is specifically for that purpose.

The The Sparx EA v17 Advanced Tutorial for the Lead Enterprise Architect goes into the step-by-step details for creating a domain model and how to relate it to other enterprise architecture artifacts. This tutorial also covers the other two superpowers of the role of enterprise architect to give you a fully rounded, highly-valued skillset: metamodeling and enterprise frameworks. Understanding how they all relate to one another is crucial for success in this role. I will dedicate separate posts to cover them.

You are going to need a modeling tool for working on this tutorial because it will guide you, step by step, through the process of defining and building a domain specific language in Sparx EA.

Yes, there was a debate about whether to make the tutorial tool-agnostic or tool-specific. In the end, this kind of work is too intricate to cover without a specific modeling tool. So, if you will be using an enterprise modeling tool other than Sparx EA, then you will need to find your way in mapping features across the two tools.

The modeling language is the same across all modeling tools.

Our Tutorials

All courses and materials are prepared and delivered by expert practitioners in the field.

Sparx Enterprise Architect (EA) v17 Comprehensive Tutorial for SysML

This tutorial is the fastest way to learn Sparx Enterprise Architect (EA) for the corporate and government systems engineer and enterprise modeler. This step-by-step tutorial comes as a PDF file with thorough instructions, spread across 58 modules and 78 pages on how to use EA in enterprise and engineering environments.

Learn more ...

The Sparx EA v17 Advanced Tutorial for the Lead Enterprise Architect

PDF tutorial for the lead enterprise and solutions architect leading enterprise architecture programs in corporate and government organizations. It combines applied theory and hands-on instructions for learning metamodeling, and how to build domain specific languages (DSL) in the context of an architectural framework.

Learn more ...

Master SysML with the Automation and Control Engineering Practicum

Ready to elevate your SysML and model-based systems engineering (MBSE) expertise? Dive into our SysML Practicum - Automation and Control Engineering, a comprehensive 58-page PDF workbook packed with a complete solution model. This hands-on project is designed to significantly enhance your MBSE skills.
58-page Workbook + Solution Model

Learn more ...

VISIT OUR ONLINE STORE

Phone: (657) 999-0086

E-BOOK

The Decision Maker's Ultimate Guide to MBSE


Business decision makers will face many dilemmas when trying to assess the value that Model-Based Systems Engineering (MBSE) can potentially bring to their organization. Unaided by those who have charted the path before them, they'll face many pitfalls. The Decision Maker's Ultimate Guide to MBSE exposes the dilemmas and pitfalls to avoid. It explains how MBSE affects the bottom line offering insights into the sophisticated activity of determining the ROI of implementing MBSE in your environment.

The author leans on three decades in a consulting practice serving corporate customers in business sectors, defense, aerospace and technology innovation industries. This is NOT a technical book about SysML or system design. It is a business book for technology executives and managers who want to successfully create their MBSE adoption strategy and roadmap by making business sense out of MBSE. It is also for technical champions who struggle to make a strong business case for introducing MBSE into their environment.

The decision makers ultimate guide to MBSE
Available on draft2digital.com

Available draft2digital ebook formats: epub mobi pdf rtf lrf pdb txt

Available on Amazon.com