Difference between revisions of "MicroMVDs for exchange requirements"

From Wiki.OSArch
Line 37: Line 37:
 
== Auditing BIM data with MicroMVDs ==
 
== Auditing BIM data with MicroMVDs ==
  
You will need a MicroMVD auditing program. One free and open source option is [https://blenderbim.org/download.html BIMTester].
+
[[File:Bimtester.png|300px|thumb|right|The BIMTester Quality Auditing panel in the BlenderBIM Add-on]]
  
TODO: describe how to use BIMTester.
+
[[File:Bimtester-report.png|300px|thumb|right|An example audit report from BIMTester]]
  
== Authoring a custom MicroMVD ==
+
To begin auditing BIM data, you will need an IFC file. Let's imagine you have a file called <code>myfile.ifc</code>.
  
If you wish to write your own custom MicroMVD, some basic technical knowledge is required. The first is how to structure a MicroMVD. Each MicroMVD must follow the generic format shown below:
+
You will then need to specify your exchange requirements. Follow the steps below:
  
<pre>Feature: Name of the exchange requirement
+
# Create a new text file called <code>my_first_micromvd.feature</code>
 +
# Copy and paste a MicroMVD template, such as [[Project setup MicroMVD]] into your <code>my_first_micromvd.feature</code> file.
 +
# Modify the template based on your project. For example, you may change the sentence <code> * The IFC file "{file}" must be provided</code> to read <code> * The IFC file "myfile.ifc" must be provided</code>. Note that the <code>myfile.ifc</code> has to be in the same directory as your <code>my_first_micromvd.feature</code> file.
  
In order to achieve a business goal
+
Now that you have specified your exchange requirements, you can audit it using a program. One free and open source option is [https://blenderbim.org/download.html BIMTester], which comes with the [[BlenderBIM Add-on]], or can be run standalone. Here's an example of how to audit it:
As a particular user or stakeholder
 
We need to satisfy specific technical requirements
 
  
Scenario: Check a particular technical requirement
+
# Launch Blender with the [[BlenderBIM Add-on]] installed.
* Some data must be in a certain way
+
# Open up the ''BIMTester Quality Auditing'' panel in the ''Scene Properties''.
* Some other data must be in another way
+
# Navigate to the directory that you placed your <code>my_first_micromvd.feature</code> file in the ''Features Directory'' property.
 +
# You will see that it will detect your features file, as well as the exchange scenarios within it. Press the <code>Execute BIMTester</code> button.
 +
# Your audit report results will pop up in your browser.
  
Scenario: Check another particular technical requirement
+
== Modifying a MicroMVD ==
* Some data must be in a certain way
 
* Some other data must be in another way
 
</pre>
 
  
A feature file always starts by defining the name of the <code>Feature</code>. Below the feature name is an three sentence paragraph which describes the value this MicroMVD delivers to the project. This paragraph is optional, but encouraged to help align both technical and non-technical project participants.
+
MicroMVDs are designed to be modified to be specific to your project. You are free to delete lines that don't apply to your project, or add additional lines if you need to audit more things in your project. You can have a single <code>.feature</code> or multiple files for each IFC, depending on how you want to organise your project. Once you have tailored it to your project, it is encouraged to include it in your project contract, so that all stakeholders are crystal clear on exactly what the data exchange requirements are, and how it will be audited.
  
The individual audits are then categorised into one or more <code>Scenario</code> blocks. Each scenario has a name that focuses on a particular technical requirement of the exchange requirement, and contains one or more test sentences. Each sentence checks data related to the scenario. The feature name and scenario names can be anything, but must be prefixed by <code>Feature: </code> and <code>Scenario: </code> respectively. The test sentences within each <code>Scenario</code> block must match a pattern defined in the MicroMVD for the project.
+
If you know how to code, you can also define your own sentences. Read more in [[Developing custom MicroMVDs]].
 
 
These MicroMVDs are templates to be used as a starting point for projects to describe exchange requirements. It is encouraged to modify it to project requirements, delete irrelevant tests, and add new tests as required.
 
 
 
== Packaging test suites for recipients ==
 
 
 
The author of the test suite will provide a folder named <code>features/</code>. The contents of this folder will contain:
 
 
 
<pre>features/test-suite-A.feature # This is a test suite
 
features/test-suite-B.feature # This is another test suite, you can have multiple
 
features/environment.py # This defines the test environment
 
features/template.html # This is the HTML report template
 
features/steps/steps.py # The defines the test sentences
 
</pre>
 
 
 
These files constitute the full test system, and must be shared in full to all recipients and all authors. This ensures full transparency of exchange requirements.
 
 
 
The <code>steps.py</code> file requires basic programming knowledge to understand and modify, and is generally only modified by the test author.  Recipients are free to inspect it to gain a better understanding of what constitutes test compliance.
 
 
 
The <code>environment.py</code> file contains the environment settings to run the tests, using the [https://github.com/behave/behave Behave] system. An intermediate knowledge of <em>Behave</em> and <em>Python</em> is required to modify this file. For most recipients, this file must be left alone.
 
 
 
The <code>template.html</code> file contains a HTML report template. It is plain HTML code with [https://mustache.github.io/ Mustache] for the templating language. A basic knowledge of HTML and Mustache is required to modify this file, which is self-explanatory.
 
 
 
== Receiving and running test suites ==
 
 
 
A recipient will receive a <code>features/</code> directory. They are not required to modify the files in any way.
 
 
 
The cross-platform, free software [https://blenderbim.org/download.html BIMTester] tool is capable of running the test suite and generating reports. The BIMTester tool expects the <code>features/</code> directory to be in the current working directory.
 
 
 
Recipients are encouraged to run the tests and generate reports at their convenience. The test author may optionally provide an automated platform which runs tests and generate downloadable reports, as well as track progress on test results.
 
 
 
== Maintaining test suites ==
 
 
 
The test suite will be working document that will grow throughout the project lifecycle to ensure that data quality regressions are not made, and that the level of information which has been audited is clearly documented.
 
 
 
The test author will advise all recipients whenever new tests are being introduced or new test sentences are being defined.
 

Revision as of 02:14, 10 August 2020

To guarantee correct BIM data, data exchange requirements need to be specified and audited. A MicroMVD is a collection of sentences that describe auditing requirements, written in plain language understood by both technical and non-technical stakeholders. These sentences are organised into categories, and can be processed by a computer to automatically check whether or not the requirements are satisfied.

Here is an example of a simple MicroMVD, which checks that an IFC4 file is provided with a particular filename.

Feature: Project setup

In order to view the BIM data
As any interested stakeholder
We need an IFC file

Scenario: Receiving a file
 * The IFC file "project.ifc" must be provided
 * IFC data must use the IFC4 schema

This MicroMVD is stored in a simple text file with the .feature file extension. The file name is arbitrary, but may be used to describe what it is auditing. These simple text files can be edited in any text editor, such as Vim, Apple TextEdit, or Microsoft Notepad. No proprietary software is required: anybody can read and write MicroMVDs.

These *.feature files, each containing sentences like the above can be processed by a computer. In the example above, a MicroMVD auditing program will look for a file named "project.ifc" and will check that it is IFC4. The MicroMVD auditing program can then generate a report, which can be used by stakeholers to track whether or not a project is satisfying its requirements.

Unlike other auditing solutions like Solibri or SimpleBIM, MicroMVDs are non-proprietary, do not expire, are free, much lighter, are easy to change and develop, and are cross-platform.

List of MicroMVDs

Although you are free to write your own MicroMVD specific to your project, a series of MicroMVDs have been published online that address common problems. You can copy and paste these templates into your own *.feature files, and modify it to suite your project.

Auditing BIM data with MicroMVDs

The BIMTester Quality Auditing panel in the BlenderBIM Add-on
An example audit report from BIMTester

To begin auditing BIM data, you will need an IFC file. Let's imagine you have a file called myfile.ifc.

You will then need to specify your exchange requirements. Follow the steps below:

  1. Create a new text file called my_first_micromvd.feature
  2. Copy and paste a MicroMVD template, such as Project setup MicroMVD into your my_first_micromvd.feature file.
  3. Modify the template based on your project. For example, you may change the sentence * The IFC file "{file}" must be provided to read * The IFC file "myfile.ifc" must be provided. Note that the myfile.ifc has to be in the same directory as your my_first_micromvd.feature file.

Now that you have specified your exchange requirements, you can audit it using a program. One free and open source option is BIMTester, which comes with the BlenderBIM Add-on, or can be run standalone. Here's an example of how to audit it:

  1. Launch Blender with the BlenderBIM Add-on installed.
  2. Open up the BIMTester Quality Auditing panel in the Scene Properties.
  3. Navigate to the directory that you placed your my_first_micromvd.feature file in the Features Directory property.
  4. You will see that it will detect your features file, as well as the exchange scenarios within it. Press the Execute BIMTester button.
  5. Your audit report results will pop up in your browser.

Modifying a MicroMVD

MicroMVDs are designed to be modified to be specific to your project. You are free to delete lines that don't apply to your project, or add additional lines if you need to audit more things in your project. You can have a single .feature or multiple files for each IFC, depending on how you want to organise your project. Once you have tailored it to your project, it is encouraged to include it in your project contract, so that all stakeholders are crystal clear on exactly what the data exchange requirements are, and how it will be audited.

If you know how to code, you can also define your own sentences. Read more in Developing custom MicroMVDs.