{"id":3435,"date":"2021-03-04T08:00:00","date_gmt":"2021-03-04T07:00:00","guid":{"rendered":"http:\/\/www.se-trends.de\/?p=3435"},"modified":"2021-03-03T15:44:32","modified_gmt":"2021-03-03T14:44:32","slug":"make-requirements-machine-readable","status":"publish","type":"post","link":"https:\/\/www.se-trends.de\/en\/anforderungen-maschinenlesbar-machen\/","title":{"rendered":"Making requirements machine-readable with AI"},"content":{"rendered":"<p class=\"wp-block-paragraph\">Requirements management is a key discipline in product development, for example, requirements are an enabler for communication. Customers and suppliers use requirements to capture a common understanding of what needs to be done. But requirements are not machine-readable.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">There are powerful tools that make it easier for us to deal with requirements. But for these tools, the actual content is a \"black box\". The important part of the requirement is hidden in a text attribute that has to be read by people again and again... and again... and again...<\/p>\n\n\n\n<!--more-->\n\n\n\n<h2 class=\"wp-block-heading\">From documents to requirement elements<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">With the advent of computers, engineers began to look for ways to increase efficiency. And they found what they were looking for: Word and Excel, the most popular tools for requirements engineering. Whether these are really better than paper is another question...<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p>Unbelievable: Word and Excel are still the most popular tools for recording requirements<\/p><\/blockquote>\n\n\n\n<p class=\"wp-block-paragraph\">For those who can afford it, there are more powerful tools. Telelogic pioneered requirements engineering tools in the 1990s with DOORS (since acquired by IBM). DOORS is still around, but other popular requirements engineering tools include Polarion (Siemens), Jama Connect (Jama Software), Codebeamer (Intland) and Integrity (PTC).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">All these tools work in a similar way: They allow the definition of data types: These are entities with properties. For example, a data type \"User Need\" can have properties for \"Name\", \"Description\" and \"Priority\", in addition to a unique ID generated by the system.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Elements can be created by the <a href=\"http:\/\/www.se-trends.de\/en\/traceability-2\/\">Traceability<\/a> can be linked with each other. This supports activities such as coverage or impact analysis and supports change management.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">A requirement is a black box<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">However, all these tools have one thing in common: the actual content is almost always located in an attribute as formatted text. In DOORS this is the \"Object Text\", in Jama it is the \"Description\". Users can write anything they want in these fields.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Engineers like this because they are not restricted in what they write. They can even insert images. But the downside is that engineers often have to look at the actual content. The tools help engineers decide when to look at the content, but not why. For the tool, the requirement is a black box.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A simple example: The stakeholder specifies a timeout of 10 minutes for a web system. A test engineer reads the requirement and writes a test case. The tester should, for example, wait a little less than 10 minutes and ensure that the user is still logged in.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If the stakeholder changes the timeout to 20 minutes, then the test may be masking a latent problem: the test will still pass, but it would not test the changed requirement! A typical requirements management tool would mark the test as \"suspect\", but a human has to look at it.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Is MBSE the answer?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Model Based Systems Engineering (<a href=\"http:\/\/www.se-trends.de\/en\/day\/mbse\/\">MBSE<\/a>) uses a formal modeling notation to capture requirements. Depending on the notation, MBSE can actually solve this problem.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p>Notations such as SysML create transparency, but are so difficult to use that many stakeholders reject them and only a few stakeholders actually master them.<\/p><\/blockquote>\n\n\n\n<p class=\"wp-block-paragraph\">There is only one catch: the notations used are difficult. The most popular notation is <a href=\"http:\/\/www.se-trends.de\/en\/day\/sysml\/\">SysML<\/a>which consists of dozens of diagram types and hundreds of element types.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img class=\"lazyload\" data-src=\"https:\/\/upload.wikimedia.org\/wikipedia\/commons\/1\/11\/Sysml_diagrams_collage.jpg\" decoding=\"async\" src=\"data:image\/gif;base64,R0lGODlhAQABAIAAAAAAAP\/\/\/yH5BAEAAAAALAAAAAABAAEAAAIBRAA7\" alt=\"SysML does not make requirements directly machine-readable either, but many other elements of the system description do.\"\/><noscript><img decoding=\"async\" src=\"https:\/\/upload.wikimedia.org\/wikipedia\/commons\/1\/11\/Sysml_diagrams_collage.jpg\" alt=\"SysML does not make requirements directly machine-readable either, but many other elements of the system description do.\"><\/noscript><figcaption>A few SysML diagrams (source: <a href=\"https:\/\/en.wikipedia.org\/wiki\/Systems_Modeling_Language#\/media\/File:Sysml_diagrams_collage.jpg\" target=\"_blank\" rel=\"noreferrer noopener\">Wikimedia<\/a>)<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><br>The solution: Making requirements machine-readable with AI<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Fortunately, there is another option. <a href=\"http:\/\/www.se-trends.de\/en\/automation-with-ki\/\">Natural Language Processing (NLP)<\/a> is now so powerful that systems can process the requirements text and do useful things with it. NLP is a branch of <a href=\"http:\/\/www.se-trends.de\/en\/day\/artificial-intelligence\/\">Artificial intelligence (AI)<\/a>which deals with the interaction between computers and human (written) language.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">To pick up on the example above, where the timeout had changed. A <a href=\"https:\/\/www.semiant.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">NLP assistant like Semiant<\/a> would recognize that two elements linked by a track (request and test) have a parameter (10 minutes) in common. After changing the request, Semiant could point out the discrepancy (10 minutes vs. 20 minutes) to the engineer and even offer to change one of the two parameters to the value chosen by the engineer.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">MBSE without anyone noticing<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Semiant can do this because it builds a system model in the background. In other words, Semiant utilizes the possibilities of MBSE without the participants having to learn MBSE.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This combines the best of both worlds: Stakeholders can continue to articulate their requirements in the way they are used to: in human language. But behind the scenes, Semiant creates and maintains a model that takes advantage of 20 years of MBSE. Power users can use the model directly, but most stakeholders will simply benefit from the analysis of the model that Semiant articulates in natural language.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">About Semiant<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Semiant is a virtual quality assistant that I am currently developing. Semiant uses NLP to make requirements machine-readable and thus automate simple tasks. I am currently looking for testers and offer free glossary generation in return. <a href=\"https:\/\/www.semiant.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">Please contact us if you are interested<\/a>.<\/p>\n\n\n\n<p class=\"has-text-align-right wp-block-paragraph\">Photo by\u00a0<a href=\"https:\/\/unsplash.com\/@estherrj?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText\">Esther Jiao<\/a>\u00a0on\u00a0<a href=\"https:\/\/unsplash.com\/?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText\">Unsplash<\/a><\/p>","protected":false},"excerpt":{"rendered":"<p>Requirements management is a key discipline in product development, for example, requirements are an enabler for communication. Customers and suppliers use requirements to capture a common understanding of what needs to be done. But requirements are not machine-readable. There are powerful tools that make it easier for us to deal with requirements. But for these tools, the actual...<\/p>","protected":false},"author":1,"featured_media":1796,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_kad_post_transparent":"","_kad_post_title":"","_kad_post_layout":"","_kad_post_sidebar_id":"","_kad_post_content_style":"","_kad_post_vertical_padding":"","_kad_post_feature":"","_kad_post_feature_position":"","_kad_post_header":false,"_kad_post_footer":false,"_kad_post_classname":"","footnotes":""},"categories":[83,136],"tags":[100,350,276,86,492],"class_list":["post-3435","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-methoden","category-werkzeuge","tag-anforderungen","tag-black-box","tag-kuenstliche-intelligenz","tag-mbse","tag-semiant"],"_links":{"self":[{"href":"https:\/\/www.se-trends.de\/en\/wp-json\/wp\/v2\/posts\/3435","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.se-trends.de\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.se-trends.de\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.se-trends.de\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.se-trends.de\/en\/wp-json\/wp\/v2\/comments?post=3435"}],"version-history":[{"count":0,"href":"https:\/\/www.se-trends.de\/en\/wp-json\/wp\/v2\/posts\/3435\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.se-trends.de\/en\/wp-json\/wp\/v2\/media\/1796"}],"wp:attachment":[{"href":"https:\/\/www.se-trends.de\/en\/wp-json\/wp\/v2\/media?parent=3435"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.se-trends.de\/en\/wp-json\/wp\/v2\/categories?post=3435"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.se-trends.de\/en\/wp-json\/wp\/v2\/tags?post=3435"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}