How to Make Requirements Approvals Using Innoslate

One question we often get is: does Innoslate do workflow? What people mostly mean by this question is how can they approve documents and requirements and be notified that that approval has occurred? How can we be sure the right person approved the item? Innoslate provides this capability using what we call “lightweight workflow.”

Lightweight work flow follows a simple process using the notifications, labels, history, and baselining features of Innoslate. The steps of that process are provided below.

Step 1: Setting up a signature block.

Most requirements approval occur at a document level. An example would be a standard operating procedure (SOP) for a project. The set of requirements are embedded in the SOP document. Innoslate provides templates for SOPs that can be used to develop them. You only need to access the SOP document (Menu/SOPs as seen below).


You can then select a blank document or the Standard Operating Procedure (With Guidelines) and the template will be produced.

In this template, there is a signature block. These can easily be separated in to separate blocks or you can break them out individually.

The screen shot below shows an example of breaking out the signature blocks. We have already added the information about the signatories of the SOP (Project Manager, Program Manager, and Division Manager).

Each manager may want to subscribe to one or more of these block for notification when it has been changed. Subscribing to an entity is easy and available from Entity View. Just select the entity and open the Entity View, as shown below.

In the Entity View of the signature of interest, select the “More” button and “Follow” the entity. The “Follow” tells Innoslate that you want to receive a notification anytime this entity is changed. When a change is made an e-mail will be sent to your e-mail address.

So, once the Project Manager approves of this entity, by adding the “Approved” label (note you may have to add this label as its not part of the standard label set), and the initials or a picture of the person’s signature can also be added at the same time, then an e-mail will be sent out to anyone subscribed to the entity. The e-mail below shows the notification I received from Innoslate.

Going back to the SOP and selecting the Project Manager entity, we see that the approved was made (see below).

The time and date of this approval and who approved it is recorded in the history of that entity, which is accessed from the Entity View using the “History” button (see below).

If you want to ensure that no changes occur elsewhere in the document after each approval, you can use the baselining feature (see the “Baseline” button at the top of the Document’s View).

This action will freeze the changes and only allow changes to the next version.

So using these techniques, Innoslate provides all you need to ensure that the requirements documents you produce follow your workflow.

How to Import Complex Documents into Innoslate

One of the first things you want to do when using a requirements or PLM tool is to import complex documents into the tool, so that you can begin analysis. Most documents have pictures, tables and other elements of information that you want to be able to access. Often these complex documents come as an Adobe Portable Document Format (PDF) file; other times they come as Comma Separated Values, MS Word and other formats. In this blog, we will deal with PDFs.

When bringing in a new document, we recommend starting with a new Innoslate project. Also, most documents are a result of non-uniform word processing, which means that import software has to deal with many different possible numbering schemes and formats. This fact makes getting a document into a toll very difficult. Fortunately, Innoslate’s Import Analyzer provides the means to overcome most of this problem, but you may want to do a little bit of work on the file first.

PDFs come in two forms: 1) scanned documents; and 2) selectable documents. The first one requires the use of Optical Character Recognition (OCR) software. We recommend Google’s as it seems to be one of the best, but many other tools for OCR are available. This process converts it into a selectable document.

Once you have the document in an editable PDF format and you have a copy of the latest version of Adobe Acrobat Pro, you can try to save the document as an MS Word file. Adobe tends to do a very good job converting documents this way. You may still want to go through and clean up the document, such as removing the table of contents and other unnecessary information.

After you have the document in the format you want, select the Import Analyzer from the Menu and follow the process of using the “Word (.docx)” tab, selecting the class for import (Next), and dragging the file into the window for import (Step 1). The upload and analysis process may take a minute or so, depending on the size and complexity of the document (Step 2). The analysis includes the creation of parent-child relationships (decomposed by/decomposes) as identified by the numbering scheme.

Once the upload and analysis are complete, just select “Next” and you can see a preview of the information as it has been captured (Step 3). If satisfied, then select save the entities into the database.

Step 1:

Step 2:

Step 3:

The end result of this process is the document being seen in the Requirements View. The analyzer includes any pictures and tables, if they were properly developed that way in the original document (see below).



If you already have another project to which you want to add this one to, you can export and re-import the Innoslate XML file, or (better) use the branching/forking capability (go to Database View and use the “Branch” button). When creating a new branch, instead of selecting a “New Project” use the “Target” drop down menu to select the project with which you want the document to merge (see right).


The process above is a best-case situation for complex documents. Sometimes, this approach to importing fails due to problems in the MS Word document itself.

The second way to import a PDF file is to use the “Plain Text (.pdf, .txt, etc.)” tab in the analyzer (shown below).

Here you need to give the Artifact (the entity that will store the uploaded document) a name, which you can edit later. Again, select the class type for import (we default to Requirements, since that usually what you are importing). Finally, we need to select the type of list contained within the document, again for the purpose of creating the parent-child relationships.



After clicking the “Next>” button, you can paste the copied text from the file into the space provided. After clicking the Next button on that screen, the analysis proceeds and then you can preview the results as before.


Finally, the worst-case scenario is a PDF document that cannot be easily imported using any of the Import Analyzer tools. Although this is rare, it does occur. Recently I was asked to import a portion of the US Code. For anyone who has seen it, it’s double column and contains a lot of unusual characters. So, I determined that the fastest way to bring it into the tool was by cutting and pasting objects into the Requirements View of an Innoslate Project. I used this as an opportunity to conduct analysis on the document as I went. Since I was not under a tight deadline (I had days to perform the task, not hours) and we ultimately wanted to perform requirements analysis anyway, this let me take blocks of text and treat them as Statements, instead of Requirements, when they really only provided context or breakup paragraphs that contained multiple requirements into individual entities to they could be separately traced. That effort took a person day and one half, while the other ones above had taken really only minutes, but no analysis was done.


All-in-all Innoslate provides the means to bring any and all information from the outside into the tool. You can then use that information to complete the rest of the lifecycle within the same tool environment (with no plug-ins required).

Document Trees in Innoslate

Different levels of documents result from decomposition of user needs to component-level specifications, as shown in the figure below.

Innoslate enables the user to create such trees as a Hierarchy chart, which uses the “decomposed by” relationship” to show the hierarchy. An example is shown below.

Each of these Artifacts contain requirements at the different levels. Those requirements may be related to one another using the “relates from/relates to” relationship if they are peer-to-peer (i.e. at the same level of decomposition) or using the decomposed by relationship to indicate that they were derived from the higher-level requirement.

This approach allows you to reuse, rather than recreate requirements from a higher-level document. An example is shown in Requirements View below.


In this example, the top-level Enterprise Requirements were repurposed for the Mission Needs document (MN.1.1 and MN.1.2) and the System Requirements Document (SRD.5). If you prefer to keep the original numbers, you only have to Auto Number the ERD document using that button on the menu bar and the objects would show up with the ERD prefix in the lower documents. Note that in either case, the uploaded original document would retain the original numbers, in case you wanted to reference them that way. Also, each entity has a Universal Unique Identifier (UUID) that the requirement retains, if you prefer to use that as a reference.

This approach discussed above is only one way to accomplish the development of a document tree. Innoslate enables other approaches, such as using a new relationship (i.e. derived from/derives). Try it the way above and see if it meets your needs. If not, adjust as you like.

What is a PLM Tool?

Product Lifecycle Management (PLM) software integrates cost effective solutions to manage the useful life of a product.

PLM software tools allow you to:

  • Keep aligned with customer’s requirements
  • Optimize cost and resources through simulated risk analysis
  • Reduce complexity with a single interconnecting database
  • Improve and maintain quality of a product throughout the lifecycle

The areas of PLM include: five primary areas:

  1. Systems engineering
  2. Product and portfolio m² (PPM)
  3. Product design (CAx)
  4. Manufacturing process management (MPM)
  5. Product data management (PDM)

Let’s look at each area in more detail.

Systems Engineering

A PLM tool should  support the system engineer throughout the lifecycle by integrating requirements analysis and management (Requirements View and checker), with functional analysis and allocation (all the SysML diagrams, along with LML, IDEF0, N2, and others), with solution synthesis (SysML, LML, Layer Diagram, Physical I/O, etc.), test and evaluation (Test Plans, Test Center), and simulation (discrete event and Monte Carlo). Many PLM tools lack the combination of all these capabilities in this area. Innoslate® was made by systems engineers for systems engineers and is designed for the modern cloud environment that enables massive scalability and collaboration. No other PLM tool has Innoslate’s combination of capabilities in this area.

Product and Portfolio Management

PPM includes pipeline, resource, financial, and risk management, as well as change control. Innoslate® provides all these capabilities and a simple easy to use modeling diagram to capture the business processes, resource and cost load them, and then produce Gantt charts for the timeline. The Monte Carlo simulation also enables the exploration of the schedule and cost risks due to the variation of timing, costs, and resources. This approach is called Model-Based Program Management (MBPM); consider it an important adjunct to the systems engineering work.

Innoslate® also captures risks, decisions, and other program management data completely within the tool using Risk Matrices, and other diagrams. Change control is provided through the baselining of documents, the branching/forking capability, and the object-level history files.

Innoslate® provides a means to develop a program plan that can be linked to the diagrams and other information within the database This feature enables you to keep all your information and documents together in one place.

Product Design

The Product Design area focuses on the capability to capture and visualize product design information from analysis to concept to synthesis. The Asset Diagram enables the addition of pictures to the standard boxes and lines diagrams. This capability enables the development of the high-level concept pictures that everyone needs. Innoslate’s CAD viewer feature allows you to not only view the STL and OBJ files it can create the equivalent Asset Diagram entities through the OBJ file, but this feature also makes the integration between the two tools more seamless. Other physical views, such as the layer diagram and physical I/O help view the physical model in ways that usually required a separate drawing tool.

Manufacturing Process Management

Innoslate provides great process planning and resource planning capabilities using the Action Diagram and other features discussed above. Direct interface from Innoslate® to other tools can be accomplished using the software development kit (SDK) application programmer interfaces (APIs). If the MPM tools have Internet access, you can use the Zapier Integration capability, which provides an interface to over 750 tools, ranging from GitHub to PayPal to SAP Jam Collaboration. In addition, Innoslate is routinely used for Failure Modes and Effects Analyses (FMEA), which is critical to MPM.

Product Data Management

Capturing all the product data, such as the part number, part description, supplier/vendor, vendor part number and description, unit of measure, cost/price, schematic or CAD drawing, and material data sheets, can easily be accomplished using Innoslate. Most of the entities and attributes have already been defined in the baseline schema, but you can easily add more using the Schema Editor. You can develop a complete library of product drawings and data sheets by uploading electronic files can be uploaded as part of the “Artifacts” capture in the tool. Construction of a Work Breakdown Structure (WBS) and Bill of Materials (BOM) is also simply a standard report from the tool.

As a systems engineer, it’s important to allow information to drive your decisions. This can only be obtained through detailed functional analysis and an underlying scalable database. And is best accomplished with a PLM software tool that  encompasses all 5 areas illustrated above. Innoslate meets or excels in every area, so you are better equipped to face high-risk decisions.

Why Requirements Management Needs Analysis

When we talk to potential customers who are seeking requirements management tools, we begin with asking them: “What is your requirements management process?” Usually they say, “we get requirements from our customers and then trace them to our products.” In areas where the customer knows exactly what they need and have been doing it for many, many years, this might work. But in the fast paced businesses of today, that approach will miss a lot of the real requirements, gaps, and risk areas. Ignorance of these requirements usually means product failure or worse, loss of life. Your company is then liable for that failure and in the US that usually means a lawsuit. If you can’t prove that you did the necessary analyses, your company will usually lose the lawsuit.

If they say they do analysis on those original customer requirements we than ask: “How do you do requirements analysis?” Often the answer is: “Well, we read them and look for shall statements.” Again, this is insufficient and will lead to failure! A requirement must be:

  • Clear: Clear represents if this Requirement is unambiguous and not confusing.
  • Complete: Complete represents if this Requirement expresses a whole idea.
  • Consistent: Consistent represents if this Requirement is not in conflict with other requirements.
  • Correct: Correct represents if this Requirement describes the user’s true intent and is legally possible.
  • Design: Design represents if this Requirement does not impose a specific solution on design; says “what”, not “how”.
  • Feasible: Feasible represents if this Requirement is able to be implemented with existing technology, and within cost and schedule.
  • Modular: Modular represents if this Requirement can be changed without excessive impact on other requirements.
  • Traceable: Traceable represents if this Requirement is uniquely identified, and able to be tracked to predecessor and successor lifecycle items/objects.
  • Verifiable: Verifiable represents if this Requirement is provable (within realistic cost and schedule) that the system meets the requirement.

If they say they understand the need for complete requirements analysis, then we ask: “Did you know that functional analysis and modeling is a critical part of requirements analysis and management?” Again, most of the time the answer we receive is: “No, we don’t need that! All we need is a cheap tool that traces the requirements to product.” As you might expect this approach also leads to failure.

The Department of Defense (DoD) recognizes this problem. They define the purpose of requirements analysis as:

“To (1) obtain sets of logical solutions [functional architectures] derived from defined Technical Requirements, and (2) to better understand the relationships among them. Once these logical solution sets are formed, allocated performance parameters and constraints are set, and the set of Derived Technical Requirements for the system can be initially defined.

Outcomes: For each end product of a system model:

  1. A set of logical models showing relationships (e.g., behavioral, functional, temporal, data flows, etc.) among them
  2. A set of ‘design-to’ Derived Technical Requirements”

Most experts use a process like the one below:

Notice that functional analysis and allocation is in the center of this process. Other process models have this as well, but tend to bury it. That is a mistake. What functional analysis does is enable the analyst to create user stories (sometimes called use cases, scenarios, or threads) that can be used to validate the user requirements. As you conduct this analysis by creating a functional model, you can identify gaps and problem areas that the user may not have originally considered. You can also use these models to derive the performance requirements and identify other constraints using simulation.

The figure below shows a functional model of a process for fighting forest fires. It includes data entities and resources used in the operation. The rounded rectangular blocks represent the functional requirements for the operation. Even though some of these functions may currently be performed by people, many of them can be automated to enhance the performance of the overall system. Many of these functional requirements would be missing if you just asked people what the requirements were.

We can better understand the performance requirements by execution of this model in a simulation. An example of the results from a discrete event simulation is shown below:


These results show the time, cost and resources (water) used to put out the fire. By running these kinds of simulations, we can easily determine cost, schedule and performance metrics needed to accomplish the operation. Isn’t it better to know that early in the design phase rather than later?

The end result of performing these analyses is a much better set of requirements to build or buy what the users need. It will also build the case that you did the due diligence in this litigious society. That could mean the difference between a successful project and a failed project.