Posted
almost 11 years
ago
by
Michael Jastram
As newspapers and TV stations get ready to publish their annual reviews and retrospectives of 2014, they are bound to forget to report the remarkable progress that has been made on the Eclipse Requirements Modeling Framework this year. But no fear
... [More]
, we shall now remedy this. Below you will find the RMF highlights from 2014. We also include an outlook for 2015.
Finally: Search takes off
Long overdue, we focused this year on an important, but neglected, feature: search. This is now available in three forms:
First, we introduced a search-as-you-type dialog in the toolbar, that allows you to search through the open editor. Rows that do not match are collapsed, but don't disappear completely so that you can guess the position of the match within your spec.
Second, we implemented a raw search dialog that integrates into the standard Eclipse search framework. We've described it here. It also supports replacing, in addition to search.
Third, we implemented another search interface on top of the search infrastructure. While the raw search interface provides access to the bare search data, the new interface focuses on being user-friendly. For instance, the names of the attributes are selected from a drop-down. Below is a screenshot of the new search interface, which is already available in the latest formalmind Studio. Its use should be intuitive, documentation will follow soon.
Active Committers
There were 426 commits in 2014, and RMF is now tested with 883 automated unit tests. This work has been done by five committers. This year, a new committer joined the ranks, Hussein Mhanna from All4Tec. He already contributed to search, CSV import, ID management and more.
Having another active committer clearly helped us to increase our pace, as you can see from the diagram on the right (covers the last three months). Note that this is work that goes directly into the open source.
Release Reviews for IP Cleanliness
The Eclipse Foundation understands the needs of businesses, and IP cleanliness is an important consideration when using open source software in a commercial environment. Therefore, the Foundation requires release reviews for official releases, which we started to perform this year. As this creates a significant overhead, we reduced our release cycle to three releases a year. We will keep making intermediate release candidates, and formalmind Studio will always include the latest features.
Collaboration with the ProSTEP Implementor Forum
As members of the ProSTEP Implementor Forum, we ensure that not only is formalmind Studio compatible with ReqIF, but also honors the implementation guidelines issued by the forum. The test data used in the forum are generated by Formal Mind, using RMF.
The implementation guide describes a format for storing a so-called "conversation ID" in the ReqIF file. A conversation ID is useful for tracking where requirements are coming from. This is particularly useful if a user has more than one concurrent exchange (e.g. a manufacturer exchanging requirements with multiple suppliers). RMF now supports this conversation ID natively. Formal Mind's Axiom Component also supports data exchange using the conversation ID.
The implementation guide also defines a number of standard attribute names. Some tools, most notably Rational DOORS from IBM, unify the ReqIF.Text and ReqIF.ChapterName attributes into the same column. RMF now offers this option as well. This is shown in the screenshot below. In the column configuration (ProR | Column Configuration...), there is now the option Unified Column, which creates this special column. It can carry a column name you choose and be rearranged like all the "regular" columns. In the specification editor, the column name is shown in a different color:
Many small (and big) improvements
A lot has been done under the hood, but the following list describes the most notable changes that are visible to the user:
Date handling got improved significantly by providing a date/time-picker in the user interface, and by making rendering of dates prettier.
Better control for selecting enumeration values. The pop-up dialog now has checkboxes and a button allowing the operation to be canceled. If there are too many entries, a scrollbar is shown.
Automatically open the contained specification, if there is exactly one. This is useful when sharing ReqIF-documents with partners that are not so familiar with formalmind Studio. Upon opening the file, they immediately see the requirements document.
Limiting the height of cells, to improve scrolling behavior. Large cells are now truncated. By double-clicking, the full content is still visible, and contains scrollbars. for navigation.
Images are scaled to to the width of the cell, so even huge images are visible as a whole. Again, by double-clicking, the original will be restored and can be inspected in detail.
Print-to-HTML got improved and now supports embedded objects. When you have a specification open and active, you can access it via File | Print....
Robust solution for ID uniqueness within a ReqIF model. Copy operations are now guaranteed to ensure distinct IDs.
We started to build an infrastructure for ReqIF validation for consistency.
An initial Import of comma-separated data (CSV import) is now available. You can access it via File | Import | ReqIF | CSV.
This year, we also migrated the format of the documentation, giving it a much more professional appearance. Documentation is accessible within formalmind Studio (via Help | Help Contents), on the Web, and as a PDF.
Ensuring compatibility of RMF to Java 6 - Java 8 and Eclipse 3.8 - Eclipse 4.4. formalmind Studio is based on Eclipse 4.4.
Improving the update mechanism and organization of the update sites.
Lots of bug fixes.
Plans for 2015
We have ambitious goals for 2015, which include:
Fixing of selection bugs in the specification editor. This is the most important editor of formalmind Studio, and we plan on making it significantly more user-friendly and bug-free in 2015.
A better wizard for new ReqIF models that uses the standard attributes from the ProSTEP Implementor Forum.
Validation for ReqIF consistency, as well as for your own validation logic.
Multiple File Support - the ReqIF standard allows linking across files, and RMF should support this as well.
Better Export and Reporting.
This is open source - so help is always welcome. There are many ways for contributing. Contact us on the forum if you want to help, for instance:
You can report bugs.
You can improve the documentation.
You can contribute code.
If you are a business using RMF or formalmind Studio, you can sponsor a feature or commission customization, integration or training.
You can donate or buy support.
Don't forget: Axiom for Sale Until the End of the Year
Four weeks ago, we launched our first commercial component for formalmind Studio: Axiom is our solution for intelligent requirements exchange. If you regularly share requirements with partners that need selective updating, Axiom may be the solution. Axiom is for sale for a special introduction price until the end of 2014, so take advantage of this offer and use up your remaining 2014 budget.
Mark the Date: ReConf 2015 in Munich (March 16.-19., 2015)
Michael Jastram will give a talk at the scientific track at ReConf 2015. Formal Mind will also be exhibitor, so if you will attend ReConf, please contact us to meet us at our booth.
Happy Holidays
We are sure that you applied professional requirements management for your holiday planning, allowing you to have a punctual, relaxed holiday season. See you next year! [Less]
|
Posted
almost 11 years
ago
by
Michael Jastram
We haven't written in a while, and as a consequence, there are plenty of news that we would like to share. The most important first:
New RMF Committer
Hussein Mhanna has been contributing to RMF for a while, as we mentioned before. He also authored
... [More]
the CSV Importer, that we describe below. In recognition of his contributions, he officially became elected committer of the Eclipse RMF project on November 17th 2014 - congratulations!
Axiom – ReqIF-based requirements exchange
Don't worry: We will still provide plenty of technical insights on requirements and Eclipse in this newsletter. But we also want to tell you about our new product, Axiom, which we launched this week.
We announced a while ago that we were working on an extension to support the exchange of requirements between two parties. We now make Axiom, a component for ReqIF exchange, publicly available. We would like to thank all beta testers, who provided us with valuable feedback.
You may wonder what the problem is we're trying to solve? After all, formalmind Studio uses ReqIF natively, and even makes creating ReqIFz-Archives easy. The problem is that a regular exchange needs an intelligent update.
When multiple parties collaborate, it is usually clear what part of the specification each party is working on. For instance, the manufacturer is typically in charge of the requirements, while it is the role of the supplier to provide comments, or even to create a functional specification (Pflichtenheft) that outlines the implementation approach. But concurrent work on the requirements is only possible if the various pieces can be merged together correctly. In the animation above, the manufacturer may have changed the requirements while the supplier was commenting them. Therefore, they want to merge the supplier's response, rather than overwrite everything indiscriminately. Axiom makes this possible (Click on the animation to learn more).
The automotive industry even published a process for this scenario, the HIS exchange process. It outlines some of the issues that you may encounter when sharing requirements.
formalmind Studio will always remain free, and we will continue to improve the ProR, the open source tool that it is based on. But in addition to that, we now started to develop specialized components for industry that are for sale. Axiom is the first such component. It is available immediately in our online store. If you buy before December 31st, 2014, you can take advantage of our special introduction price and save €100.
CSV Import
Many times we got the request to make it easier to get existing requirements into ProR / formalmind Studio. It is little comfort that it's possible to import, say, Excel into DOORS®, and then to perform a ReqIF export, which in turn could be read by formalmind Studio. Not many users have access to DOORS® or a similar tool.
The answer is a CSV import. CSV is simply comma-separated data. You can export CSV files using Excel, for instance. In other words, if you can convert your requirements to Excel, you can get them into formalmind Studio.
The CSV import adds the content from a CSV file to an existing specification. Therefore, you first need to create a ReqIF model. Then you can initiate the importer via File | Import... | ReqIF | CSV. You need to select the destination file, and there are a few options to tailor the importer, e.g. whether the first row contains headers or not.
The next step concerns the mapping. Each column needs to be mapped on an attribute, consisting of name and type, as shown below. Hitting finish will complete the import.
We described the use of this feature in detail in the Systems Engineering Handbook (Section 2.3) that we're developing in the open se-teaching.org project. We'd like to say thanks again to Hussein for implementing this feature.
New Release of RMF at Eclipse
And last, we will create an official Eclipse release RMF this week, which is mainly relevant to those who consume the project directly from eclipse.org. For formalmind Studio, we usually work with a stable snapshot, so that you can always take advantage of the latest features.
We hope that all these news are good news to you, and that you will put the new features to use. [Less]
|
Posted
almost 11 years
ago
by
Michael Jastram
We haven't written in a while, and, as a consequence, there is plenty of news that we would like to share.
Axiom – ReqIF-based requirements exchange
Don't worry: We will still provide plenty of technical insights on requirements and Eclipse in this
... [More]
newsletter. But we also want to tell you about our new product, Axiom, which we launched this week.
We announced a while ago that we were working on an extension to support the exchange of requirements between two parties. We are now making Axiom, a component for ReqIF exchange, publicly available. We would like to thank all the beta testers who provided us with valuable feedback.
You may wonder what the problem is we're trying to solve. After all, formalmind Studio uses ReqIF natively, and even makes creating ReqIFz-Archives easy. The problem is that a regular exchange needs an intelligent update.
When multiple parties collaborate, it is usually clear what part of the specification each party is working on. For instance, the manufacturer is typically in charge of the requirements, while it is the role of the supplier to provide comments, or even to create a functional specification (Pflichtenheft) that outlines the implementation approach. But concurrent work on the requirements is only possible if the various pieces can be merged together correctly. In the animation above, the manufacturer may have changed the requirements while the supplier was commenting on them. Therefore, they want to merge the supplier's response, rather than overwrite everything indiscriminately. Axiom makes this possible (Click on the animation to learn more).
The automotive industry even published a process for this scenario, the HIS exchange process. It outlines some of the issues that you may encounter when sharing requirements.
formalmind Studio will always remain free, and we will continue to improve ProR, the open source tool that it is based on. But in addition to that, we now started to develop specialized components for industry that are for sale. Axiom is the first such component. It is available immediately in our online store. If you buy before December 31st, 2014, you can take advantage of our special introduction price and save €100.
New RMF Committer
Hussein Mhanna has been contributing to RMF for a while, as we mentioned before. He also authored the CSV Importer, that we describe below. In recognition of his contributions, he officially became elected committer of the Eclipse RMF project on November 17th 2014 - congratulations!
CSV Import
Many times we got the request to make it easier to get existing requirements into ProR / formalmind Studio. It is little comfort that it's possible to import, say, Excel into DOORS®, and then to perform a ReqIF export, which in turn could be read by formalmind Studio. Not many users have access to DOORS® or a similar tool.
The answer is a CSV import. CSV is simply comma-separated data. You can export CSV files using Excel, for instance. In other words, if you can convert your requirements to Excel, you can get them into formalmind Studio.
The CSV import adds the content from a CSV file to an existing specification. Therefore, you first need to create a ReqIF model. Then you can initiate the importer via File | Import... | ReqIF | CSV. You need to select the destination file, and there are a few options to tailor the importer, e.g. whether the first row contains headers or not.
The next step concerns the mapping. Each column needs to be mapped to an attribute, consisting of name and type, as shown below. Hitting finish will complete the import.
We described the use of this feature in detail in the Systems Engineering Handbook (Section 2.3) that we're developing in the open se-teaching.org project. We'd like to say thanks again to Hussein for implementing this feature.
New Release of RMF at Eclipse
And last, we will create an official Eclipse release RMF this week, which is mainly relevant to those who consume the project directly from eclipse.org. For formalmind Studio, we usually work with a stable snapshot, so that you can always take advantage of the latest features.
We hope that all this news is good news to you, and that you will put the new features to use. [Less]
|
Posted
about 11 years
ago
by
Michael Jastram
We just uploaded a new version of formalmind Studio on our servers. If you are already using formalmind Studio, it should offer by itself to update, or check manually via Help | Check for Updates. So, what's new?
Beta Test of Exchange Component has
... [More]
started
We just launched a beta test of our new Exchange Component that will go on sale very soon. This component allows the exchange of requirements between two (or more) parties, with selective updating of information. How this is intended is described in the HIS-Process, which has its origins in the automotive industry. There is still time to sign up for the beta test for free, before you will have to pay for it. Sign Up >>
Search-as-you type
In August, we already gave a sneak preview on the search-as-you-type feature, shown to the right. When you open a specification, you can simply start typing. matching rows will be shown, others will collapse.
Search, period!
A more sophisticated search interfaces is now also available. In the spirit of open source, we got a new contributor with Hussein Mhanna. He implemented several improvements, including a search & replace interface. Below you see the search interface (big dialog). The node Criterias allows users to add as many criteria as they like, that are combined via "or". A criteria can be an actual value, or an internal attribute like "identifier". The context-menu on the Criterias element offers the most common options. There are a number of operators, including "equals", "contains" and their negations.
The results of the search are shown in the "Search" view, as demonstrated in the screenshot. Clicking on an element shows the details in the properties view. And most importantly, you can not only search, but also replace.
Hussein plans on making the interface more sophisticated over time, and this is a great improvement already.
Documentation is back!
Some have noticed - for a short while, formalmind Studio was without online help. We are happy to announce that it is back. In addition to being integrated into the tool, we now also generate an online version of the handbook. The version you find here is the same that is hosted by the Eclipse Foundation, with additional chapters inserted for the enhancements that we provide.
Keep in mind that this is work in progress. Both the online version and Eclipse version have a feedback button, so if you find errors, omissions or outdated content, please let us know.
GUI improvements
We fixed a number of little annoyances that should make life a little better. These include:
A more comfortable dialog for selecting multiple enumerations.
Images in formatted text (XHTML) will now be scaled to the width of the column they are in.
It's now possible to enter linebreaks in the XHTML edtior by using Ctrl-Enter.
Standard attributes that start with "ReqIF." (e.g. ReqIF.Name) are now shown without the prefix and in blue, in the column headers (e.g. Name)
Switched to the latest Eclipse version (Luna), which has many improvements.
...one more thing
We hope that you find these improvements helpful. And as a last reminder, you have at least three more opportunities this year to learn first-hand about ProR and formalmind Studio:
Free Requirements Workshop (October 14, Munich)
Teaching Systems Engineering with Eclipse at EclipseCon Europe (October 28, Ludwigsburg)
Eclipse Systems Engineering Workshop at Tag des Systems Engineering (November 12, Bremen)
We hope to see you there! [Less]
|
Posted
about 11 years
ago
by
Michael Jastram
We just uploaded a new version of formalmind Studio on our servers. If you are already using formalmind Studio, it should offer by itself to update, or check manually via Help | Check for Updates. So, what's new?
Beta Test of Exchange Component has
... [More]
started
We just launched a beta test of our new Exchange Component that will go on sale very soon. This component allows the exchange of requirements between two (or more) parties, with selective updating of information. How this is intended is described in the HIS-Process, which has its origins in the automotive industry. There is still time to sign up for the beta test for free, before you will have to pay for it. Sign Up >>
Search-as-you type
In August, we already gave a sneak preview on the search-as-you-type feature, shown to the right. When you open a specification, you can simply start typing. matching rows will be shown, others will collapse.
Search, period!
A more sophisticated search interfaces is now also available. In the spirit of open source, we got a new contributor with Hussein Mhanna. He implemented several improvements, including a search & replace interface. Below you see the search interface (big dialog). The node Criterias allows users to add as many criteria as they like, that are combined via "or". A criteria can be an actual value, or an internal attribute like "identifier". The context-menu on the Criterias element offers the most common options. There are a number of operators, including "equals", "contains" and their negations.
The results of the search are shown in the "Search" view, as demonstrated in the screenshot. Clicking on an element shows the details in the properties view. And most importantly, you can not only search, but also replace.
Hussein plans on making the interface more sophisticated over time, and this is a great improvement already.
Documentation is back!
Some have noticed - for a short while, formalmind Studio was without online help. We are happy to announce that it is back. In addition to being integrated into the tool, we now also generate an online version of the handbook. The version you find here is the same that is hosted by the Eclipse Foundation, with additional chapters inserted for the enhancements that we provide.
Keep in mind that this is work in progress. Both the online version and Eclipse version have a feedback button, so if you find errors, omissions or outdated content, please let us know.
GUI improvements
We fixed a number of little annoyances that should make life a little better. These include:
A more comfortable dialog for selecting multiple enumerations.
Images in formatted text (XHTML) will now be scaled to the width of the column they are in.
It's now possible to enter linebreaks in the XHTML edtior by using Ctrl-Enter.
Standard attributes that start with "ReqIF." (e.g. ReqIF.Name) are now shown without the prefix and in blue, in the column headers (e.g. Name)
Switched to the latest Eclipse version (Luna), which has many improvements.
...one more thing
We hope that you find these improvements helpful. And as a last reminder, you have at least three more opportunities this year to learn first-hand about ProR and formalmind Studio:
Free Requirements Workshop (October 14, Munich)
Teaching Systems Engineering with Eclipse at EclipseCon Europe (October 28, Ludwigsburg)
Eclipse Systems Engineering Workshop at Tag des Systems Engineering (November 12, Bremen)
We hope to see you there! [Less]
|
Posted
about 11 years
ago
by
Michael Jastram
With the free formalmind Studio, it is finally possible to do professional requirements engineering, without having to invests thousands in a tool that offers far more than the typical user needs. While we're working on improving the documentation
... [More]
, getting started can be a challenge. But fear not, help is on the way.
Free Workshop: Pragmatic Requirements Engineering (Munich, October 14, 2014, in German)
Together with our partner MixedMode, Dr. Michael Jastram will hold a free workshop on requirements engineering. It covers the basics - why are requirements needed, and how can they be elicited? Using a hands-on example, and ProR/formalmind Studio as the tool, participants will learn about the management of requirements, traceability and change management.
Sign up here >>
Model-driven Systems Engineering with Eclipse (Bremen, November 12, 2014, in German)
As part of the "System Engineering Day" by the German chapter of Incose ("Tag des System Engineering"), Dr. Michael Jastram will offer a tutorial on Systems Engineering with Eclipse. Eclipse is now a mature systems engineering environment that is used in production environments. The major components for Systems Engineering in the Eclipse Ecosystem will be presented, loosely aligned with the V-Model. There will be a focus on ProR (requirements) and Papyrus (UML/SysML) as examples of mature components.
As a visitor of the conference, the tutorial is free.
Open Up: How the ReqIF Standard for Requirements Exchange Disrupts the Tool Market
If you don't have time to visit either of the above events, we can offer you at least some free reading: The free RE-Magazine from IREB just published an article by Michael Jastram on the history and impact of the ReqIF-Standard. If there are questions about the ReqIF standard that you always wanted to ask, but never dared, you may find the answer in this article.
Read now >>
We Offer Training
If you don't have time to visit either of the above events, fear not: We are experts on various aspects of Systems Engineering - whether you use traditional appraoches, model-driven SE or even formal specifications. We currently offer the following four standard trainings on your premises:
Requirements Engineering with formalmind Studio. This workshop provides a solid introduction to requirements engineering that is suited for novices and advanced participants alike. There will be a strong focus on using tools effectively, which is important for collaboration and scalability.Learn more >>
Systems Engineering with Eclipse. While open source does not always provide the same quality of industry tools, the price is unbeatable, and the flexibility unseen in commercial applications. In addition, the risk of long term support is significantly lower than for commercial tools. This means that the use of Eclipse tools can make sense, and it could even be a strategic decision, as it is for companies like Airbus or Ericsson.Learn more >>
Formal Methods - how to do that anyway? An overview of formal methods in the context of standards like IEC 61508 or ISO 26262. This course helps decision makers to understand where the use of formal methods can make sense, and provides technical staff with a high-level overview on what methods are available.Learn more >>
ReqIF is here - the Requirements Interchange Format. An introduction to the Requirements Interchange Format. This training provides technical staff with all they need for implementing the standard, and decision makers information for a cost-benefit analysis.Learn more >>
New Initiative: SE Teaching
While systems engineering is taught in universities, there are huge differences between institutions, and the material is not always relevant. We see a huge opportunity for open tooling to act as a catalyst. It allows the material to be taught in a vendor-neutral way, and the tools to be adapted to the methods used. Tooling also allows projects to scale, thereby making the work more relevant to industry needs.
We recently initiated a discussion on the use of open tooling in education. In a short while, 130 comments accumulated, and slowly, a plan is emerging. We are currently recruiting activists from academia and industry to collaboratively build up a case study, specifically for teaching. The materials will be made available for everyone to use under an open license.
We are particularly interested in engaging everybody who teaches systems engineering (teachers, trainers, consultants, professors), so please contact us if this fits your profile, or forward this information to your colleagues.
Join the discussion >>
Sneak Preview: New fmStudio Features
We spent the summer working hard on making formalmind Studio better. We're not quite ready yet, but nevertheless just put an updated version on our download site. You may particularly like that we now have a Quick Search feature in the toolbar, which searches the open specification as you type (shown to the right). The selection dialog for multi-value enumerations also got improved. A more elaborate update will follow in a few weeks.
Note regarding updates: We made some significant changes to our update architecture. Depending on what version you use, updating via Help | Check for Updates may not work. In that case, please download a fresh copy of formalmind Studio. We apologize for the inconvenience. Updates should work reliably from now on.
Beta-Testers wanted!
A month ago, we announced that we will soon publish a commercial component that supports the HIS Exchange Process. In a few weeks, we will start beta-testing. We already signed up a number of testers. Respond here if you would like to participate in the beta test.
Team Image courtesy of photostock at FreeDigitalPhotos.netBook Image courtesy of stockimages at FreeDigitalPhotos.net
[Less]
|
Posted
about 11 years
ago
by
Michael Jastram
With the free formalmind Studio, it is finally possible to do professional requirements engineering, without having to invests thousands in a tool that offers far more than the typical user needs. While we're working on improving the documentation
... [More]
, getting started can be a challenge. But fear not, help is on the way.
Canceled Free Workshop: Pragmatic Requirements Engineering (Munich, October 14, 2014, in German)
Together with our partner MixedMode, Dr. Michael Jastram will hold a free workshop on requirements engineering. It covers the basics - why are requirements needed, and how can they be elicited? Using a hands-on example, and ProR/formalmind Studio as the tool, participants will learn about the management of requirements, traceability and change management.
Sign up here >>
EclipseCon Europe: Eclipse for Teaching Systems Engineering (Ludwigsburg, October 28-30)
System Engineering is taught, both in industry and academia. The availability of open source tools creates a lot of interest for using those tools in teaching. But, to date, initiatives have not been coordinated. At EcipseCon Europe in Ludwigsburg, near Stuttgart, Michael Jastram will talk about Eclipse in Systems Engineering.
Model-driven Systems Engineering with Eclipse (Bremen, November 12, 2014, in German)
As part of the "System Engineering Day" by the German chapter of Incose ("Tag des System Engineering"), Dr. Michael Jastram will offer a tutorial on Systems Engineering with Eclipse. Eclipse is now a mature systems engineering environment that is used in production environments. The major components for Systems Engineering in the Eclipse Ecosystem will be presented, loosely aligned with the V-Model. There will be a focus on ProR (requirements) and Papyrus (UML/SysML) as examples of mature components.
As a visitor of the conference, the tutorial is free.
Open Up: How the ReqIF Standard for Requirements Exchange Disrupts the Tool Market
If you don't have time to visit either of the above events, we can offer you at least some free reading: The free RE-Magazine from IREB just published an article by Michael Jastram on the history and impact of the ReqIF-Standard. If there are questions about the ReqIF Standard that you always wanted to ask, but never dared, you may find the answers in this article.
Read now >>
We Offer Training
If you don't have time to visit either of the above events, fear not: We will come to you. We are experts on various aspects of Systems Engineering - whether you use traditional appraoches, model-driven SE or even formal specifications. We currently offer the following four standard trainings on your premises:
Requirements Engineering with formalmind Studio. This workshop provides a solid introduction to requirements engineering that is suited for novices and advanced participants alike. There will be a strong focus on using tools effectively, which is important for collaboration and scalability.Learn more >>
Systems Engineering with Eclipse. While open source does not always provide the same quality of industry tools, the price is unbeatable, and the flexibility unseen in commercial applications. In addition, the risk of long term support is significantly lower than for commercial tools. This means that the use of Eclipse tools can make sense, and it could even be a strategic decision, as it is for companies like Airbus or Ericsson.Learn more >>
Formal Methods - how to do that anyway? An overview of formal methods in the context of standards like IEC 61508 or ISO 26262. This course helps decision makers to understand where the use of formal methods can make sense, and provides technical staff with a high-level overview on what methods are available.Learn more >>
ReqIF is here - the Requirements Interchange Format. An introduction to the Requirements Interchange Format. This training provides technical staff with all they need for implementing the standard, and decision makers information for a cost-benefit analysis.Learn more >>
New Initiative: SE Teaching
While Systems Engineering is taught in universities, there are huge differences between institutions and the material is not always relevant. We see a huge opportunity for open tooling to act as a catalyst. It allows the material to be taught in a vendor-neutral way, and the tools to be adapted to the methods used. Tooling also allows projects to scale, thereby making the work more relevant to industry needs.
We recently initiated a discussion on the use of open tooling in education. In a short while, 130 comments accumulated, and slowly, a plan is emerging. We are currently recruiting activists from academia and industry to collaboratively build up a case study, specifically for teaching. The materials will be made available for everyone to use under an open license.
We are particularly interested in engaging everybody who teaches systems engineering (teachers, trainers, consultants, professors), so please contact us if this fits your profile, or forward this information to your colleagues.
Join the discussion >>
Sneak Preview: New fmStudio Features
We spent the summer working hard on making formalmind Studio better. We're not quite ready yet, but nevertheless just put an updated version on our download site. You may particularly like that we now have a Quick Search feature in the toolbar, which searches the open specification as you type (shown to the right). The selection dialog for multi-value enumerations also got improved. A more elaborate update will follow in a few weeks.
Note regarding updates: We made some significant changes to our update architecture. Depending on what version you use, updating via Help | Check for Updates may not work. In that case, please download a fresh copy of formalmind Studio. We apologize for the inconvenience. Updates should work reliably from now on.
Beta-Testers wanted!
A month ago, we announced that we will soon publish a commercial component that supports the HIS Exchange Process. In a few weeks, we will start beta-testing. We already signed up a number of testers. Respond here if you would like to participate in the beta test.
Team Image courtesy of photostock at FreeDigitalPhotos.netBook Image courtesy of stockimages at FreeDigitalPhotos.net
[Less]
|
Posted
over 11 years
ago
by
Michael Jastram
Have you heard of the HIS Process? Do you know what it is? In a nutshell, it is a detailed process description, developed by the automotive industry for exchanging requirements. You can download it here. The process has nothing to do with ReqIF per
... [More]
se, but ReqIF is well-suited to be used for the transport layer. Read on if you would like to learn more about the HIS Process.
The Big Picture
The objective of the HIS Process is to define a unified process for automotive OEMs and Suppliers for managing their requirements exchange. Exchanging requirements is a necessary–not a competitive–advantage. Therefore, sharing the process is in the interest of all involved.
The motivation behind the process was also compliance with Automotive SPICE ENG.1 and ENG.2. If you don't know SPICE, don't worry. It's a technical standard to ensure process maturity, which in turn is important when developing safety-critical systems, like cars.
Who is behind it?
The driver behind the process is HIS (Herstellerinitiative Software), an industry consortium of the automotive industry. Rather than having each manufacturer develop their own process, the HIS members decided to develop a joint process. With Audi, BMW, Daimler, Porsche and Volkswagen as members they certainly had clout resulting in the quick acceptance and implementation of the process.
What does the process cover?
The exchange process "comprises all activities performed in the exchange of requirements between two parties". The process steps are shown in the diagram to the right, which has been taken from page 5 of the process. This includes:
Setting the stage: This includes the specific list of documents (or other data) to be exchanged, legal constraints, contact information, frequency of exchange and similar issues.
Exchange cycle: This includes export, transmission and import of data.
Requirements Evaluation: This includes the evaluation of the data by the recipient, as well as the processing of the evaluation by the original sender.
What information is exchanged?
The initiator of the process exchanges "requirements". How these are structured is not specified, but a requirement typically consists at least of a requirements text and a human-readable ID. In subsequent exchanges, the initiator can add or remove requirements. The recipient does not modify the requirements, but annotates them.
The annotating is done by means of Exchange Attributes. Both parties have their own set of exchange attributes. The most important ones are the status attributes, which are precisely defined for supplier (page 10) and OEM (page 11). These are:
Supplier Attributes: This can have the values <empty>, to be clarified, agreed, not agreed, or partly agreed
OEM Attributes: This can have the values <empty>, not to evaluate, to evaluate, accepted, or not accepted
Comment: Both parties have a respective comment attribute (free text) to elaborate.
Of course, the parties are free to add more Exchange Attributes.
Where do I put the exchange attributes?
The process describes two distinct approaches:
Add the exchange attributes directly to the requirements: In this scenario, each requirement contains the four exchange attributes (status and comment field for OEM and supplier, respectively). This is called "Coordination in the Requirements Document" (page 12).
Create a separate list of issues: In this scenario, requirements do not have additional attributes and are never modified by the supplier. Instead, the supplier creates a separate "document" inside the RE tool, which represents the list of issues. Entries contain the four exchange attributes. Only if there is an issue, an entry is created and linked to the requirement in question. Therefore, all requirements without an issue are assumed to be accepted. This is called "Coordination in the Open Issue List" (page 13)
What's better: Coordination in the requirements document or with the open issue list?
The open issue list creates less work for the supplier as action is only required for requirements that need clarification. On the other hand, if the OEM wants an explicit sign-off for each requirement, then the coordination in the requirements document is more appropriate.
How often does the exchange take place?
As often as necessary. The process assumes that the exchange will take place more than once.
What if there is more than one supplier?
Dealing with more than one supplier is not a problem: The OEM would simply create a set of exchange attributes for each supplier. For each supplier, there would be a dedicated export that ensures that the exchange attributes of the other suppliers are excluded.
My specs are big - do I have to transmit them in full every time?
No. The process allows the transmission of only those requirements that have changed. But note that transmitting everything is the safest option. Partial exchanges must be designed carefully, especially especially in regards to deleting and inserting requirements.
What is the problem with deleting requirements on partial transfers?
Assume that you only provide an update, i.e., the OEM changed some requirements. The supplier would then update the requirements text of the transmitted requirements. This is not problematic. But how would the OEM communicate that a requirement has been deleted? The only way for this is by making this explicit, as outlined on page 9. The process suggests to introduce another attribute called object status with the values "valid" or "discarded". The supplier can then either delete the discarded requirements or filter them out.
How about inserting requirements on partial transfers?
Inserting requirements can also be tricky on partial transfers. Where in the specification shall the new element be inserted? One option would be to not provide any context information. In that case, new requirements would simply be inserted at the end of the document. That's acceptable when working with a list of issues (new issues at the end), but not when working in the requirements document.
Tools may provide some context, e.g., by exporting the parent element, even if it has not changed. But even in that case, the order within the children of the parent element will be lost for the new requirement. The following figure visualizes this:
In this example, the OEM created two new requirements: requirement n at the top of the spec, and requirement 2.n directly after 2.1, which is a child of requirement 2. The ReqIF in the middle contains only the added requirements, as well as their parents. From this, the receiving tool can only deduct the parent element, nothing else. In the scenario shown, the new requirements are simply added at as the last child of the given parent. As a result, requirement n moved from the top of the document to the bottom! (If the tool were really smart, it would take the position of requirement 2 in the ReqIF file into account and insert n below 1, only slightly better.) The new requirement 3.n also moved two positions down, now being the last child of the parent that was transmitted. Clearly, this is less than optimal.
So... is the partial transfer useful at all?
Of course it is. But we recommend it only for two scenarios:
When using an Issue List: In this case, the order does not matter, and new issues will simply appear at the end of the list.
When the structure of the specification does not change: If no requirements are added, deleted or reordered, the partial update is also useful, as only content is updated (not the structure of the requirements within the specification).
In all other cases, we recommend to perform a full export.
What does the HIS process have to do with ReqIF?
ReqIF can be used as one possible "transmission-capable exchange package", and ReqIF is explicitly mentioned for this purpose on page 7. Even better, the ProSTEP ReqIF Implementor Forum not only ensures interoperability between various ReqIF tools, but also does this specifically in the context of the HIS Process. You can assume that the eight tools that are tested in the Implementor Forum are capable of supporting the HIS Process. formalmind Studio is one of the tools being tested.
Do ProR and formalmind Studio support the HIS Process?
formalmind Studio is our free ReqIF Editor that is based on the open source Eclipse ProR tool, enhanced with our own productivity features. You can already use fmStudio to open and edit ReqIF files and ReqIFz archives.
We are currently working on a commercial component that will support the HIS Process. We will soon invite beta testers–please click here if you would like to participate.
My question did not get answered!
We're sorry to hear that. Please let us know what you're missing, and we'll do our best to answer your question (and we will add the answer to this page).
Image courtesy of renjith krishnan / FreeDigitalPhotos.net [Less]
|
Posted
over 11 years
ago
by
Michael Jastram
A while ago, we supported the EU project Deploy and produced a handbook for the Rodin platform, a tool for creating formal specifications using the Event-B method. This book was a great success, but only available electronically (for free, licensed
... [More]
under a Creative Commons license).
Due to high demand, in particular from universities teaching formal methods, we decided to produce a print version of the handbook. We are pleased to announce the availability of the Rodin Handbook in print - you can buy your copy at Amazon - of course, the electronic version will always be free.
What is Rodin, and Why Should I Care?
Rodin is an Open Source Software tool for writing formal specifications. A formal specification uses a formal notation, instead of natural language, to describe what has to be build. At first, this makes things more difficult: Users have to learn read and write the language. But once this hurdle has been overcome, the result is more powerful than text: A formal specification allows you to:
Automatically check whether your specification is consistent. Contradictions are detected reliably.
Describe your system on a high, abstract level, and use refinement to produce a concrete implementation
Automatically check whether your implementation is consistent with your specification.
Animate or visualize your specification, even if it is abstract.
Generate tests from your models, or even executable code.
Furthermore, many standards for safety-critical system development, like IEC 61508 or ISO 26262, recommend or even require the use of formal methods, as we reported before.
Event-B vs. Other Modeling Languages
Event-B is the formal language that is supported by Rodin. It is a textual language and can be quite intimidating. Most people find semi-formal languages like UML or SysML more accessible - but those languages are also less powerful. Event-B demonstrates really well what formal languages are capable of, from theorem proving to code generation. Therefore, we recommend Event-B and Rodin for learning about formal methods.
Rodin also takes advantage of the Eclipse ecosystem. Amongst many other extensions, we created an integration with ProR for requirements traceability.
Crash-Course in Formal Methods
If you need to understand formal methods, then the Rodin Handbook is a good starting point:
The book does not require any prior knowledge of formal methods, just some basic math.
It contains a detailed tutorial that walks you through building your first formal models, step by step.
By following the tutorial, using the free Rodin tool, you get hands-on experience with formal methods.
The tutorial can be completed in a few days, after which you should have a solid understanding of the subject matter.
The extensive reference and FAQ sections of the book cover all aspects that you may encounter when writing your own formal specifications.
If you decide to evaluate other formal or semi-formal modeling languages, knowing Event-B provides you with a solid measuring bar.
Training available
Last, we offer professional training about Formal Methods in general, and Rodin and Event-B in particular. Please contact us if this is of interest to you. [Less]
|
Posted
over 11 years
ago
by
Michael Jastram
You may have noticed that a lot of time has passed since the last release or ProR, which was 0.9.0. Be assured that we've been busy behind the scenes: The next release, 0.10.0, will comply with the Eclipse Release Process. And this is a lot of
... [More]
work.
What we published so far were not "releases", but "snapshots" or "milestones", according to the official definition of the Eclipse Foundation. This was a pragmatic choice: This allowed us to give users early access to ProR, without having to worry about the relatively steep overhead that Eclipse requires.
For a user, this has few practical implications. Nevertheless, an official release provides benefits. Specifically, an official release can safely be used in an industrial environment, as it is guaranteed to be IP clean. But this is more an issue for integrators than for end users.
We're still not ready for an official 0.10.0 release. While we do indeed have milestone builds, accessing them is a bit tricky for people who just want "things to work". We will release 0.10.0 as quickly as possible. But in the meantime, our answer to this situation is the release of formalmind Studio today.
formalmind Studio
In a nutshell, formalmind Studio is ProR with the Essentials preinstalled. All Essentials Features, like Rich Text Support or Suspect Links will be available immediately, without having to install anything else. We will provide an independent update mechanism, which means that you will get new features and bug fixes when they become available, and not when they are officially released. So, if you have been waiting for features and bug fixes, we encourage you to download formalmind Studio right now.
Convenience and Timeliness
If you use formalmind Studio instead of ProR, you will get new features and bug fixes faster, and you don't have the hassle of having to install additional components after downloading.
There are few situations where you may still want to use Eclipse ProR: If you need pure, IP clean Open Source, then ProR may be better suited. Also if you want to incorporate ProR or RMF in another Eclipse-based tool, you might prefer the update sites from the Eclipse Foundation. But for most users who "just want to edit ReqIF files", formalmind Studio is the better choice.
We hope that this tool is useful to you. If so, we'd appreciate if you could spread the word via g+1 us. And if you run into any problems, our support will assist you.
Image courtesy of Stuart Miles / FreeDigitalPhotos.net [Less]
|