Book a Demo

Author Topic: Requirements and Interactions  (Read 4626 times)

rothnic

  • EA User
  • **
  • Posts: 91
  • Karma: +0/-0
    • View Profile
Requirements and Interactions
« on: January 12, 2014, 11:23:15 am »
When using SysML for systems architecting or analysis, one primary use is to provide a more consistent, formal, and traceable way to document how you might have come to the need for a given requirement. So, the effective product out of this analysis would be a set of detailed requirements that could go to a development team. Of course this won't be perfect, so having the traceability is pretty key.

Sequence diagrams can be extremely useful when communicating different scenarios and time sequence of events. One feature that is useful for systems engineering are the time constraint and duration features. However, these seem to be only loosely incorporated into the actual model. Definitely better than a note, but not as useful as they could be.

Some questions:
-Does anyone have any techniques they have developed for linking requirements to time constraints within a sequence diagram?
--What about automation?

-Is there any way to place requirements on a sequence diagram without them being added as a lifeline?

Helmut Ortmann

  • EA User
  • **
  • Posts: 970
  • Karma: +42/-1
    • View Profile
Re: Requirements and Interactions
« Reply #1 on: January 13, 2014, 01:19:11 am »
Hi,

I usually link requirements (also time constraints) to
  • Class or other classifier
  • Interaction (the root of an Interaction Diagram)

Then I visualize the traceability by
  • Class Diagram traceability or
  • Relationship Matrix

I don't think there is a way to make a traceability from a time constraint to a requirement.

Think about creating a class/requirement <<stereotype>> like <<constraint>> and make the traceability by name/identifier (name/identifier in time constraint and class/requirement).

In case of requirement you may use the requirement identifier in the time constraint.

Helmut


Coaching, Training, Workshop (Addins: hoTools, Search&Replace, LineStyle)

rothnic

  • EA User
  • **
  • Posts: 91
  • Karma: +0/-0
    • View Profile
Re: Requirements and Interactions
« Reply #2 on: January 13, 2014, 04:04:27 am »
Thanks, yeah I could only see linking them to interactions as a current possibility, but wanted to make sure.

Some people tend to use these tools more like powerpoint, and I'd like to have a better solution. The current pattern for communicating our "critical timelines" is using a sequence diagram. Before they were tallying the time passed with notes above the lifelines, and using the requirements pasted into notes by each related activation to communicate the time constraint.

I converted these over to using the built in time constraint and time observation, but I'm not sure what to do about the requirements since I can't even put them on a diagram.

Also, I wanted to investigate automating the update to the time observation. So if you could "tag" a requirement value, and link that to a time constraint, you could script updating the time observation. This would be really nice for tying together a bunch of interaction fragments and rolling up a higher level system thread time observation. I can't see in ScriptingEA where the timing values are available with first glance, but will look into that a little more.

Edit: After I posted this, I found references to where the timing data is stored within InsideEA. It is in the StyleEx property for a connector in a sequence. Not ideal, but usable.
« Last Edit: January 13, 2014, 04:10:41 am by rothnic »

rothnic

  • EA User
  • **
  • Posts: 91
  • Karma: +0/-0
    • View Profile
Re: Requirements and Interactions
« Reply #3 on: January 13, 2014, 04:25:35 am »
Another follow up: I'm not sure if anyone has seen the MBSE Pak for ModelCenter, but they are doing some automation of determining performance against requirements: http://www.phoenix-int.com/resources/webinars/2013/introduction-mbse-pak.php

They extended the requirement element to include a custom tag for upper bound or lower bound, so the value could actually be used in automation. They then link the value property for the system to the requirement via a satisfy relationship.

So you could take a similar approach to document it via sysml constraint block, constraint properties, etc. But you would then lose the expressiveness of the sequence diagram, which is used often in early behavioral analysis.
« Last Edit: January 13, 2014, 04:26:07 am by rothnic »

Helmut Ortmann

  • EA User
  • **
  • Posts: 970
  • Karma: +42/-1
    • View Profile
Re: Requirements and Interactions
« Reply #4 on: January 13, 2014, 07:45:53 am »
Hi,

with Addin and scripting and a good concept you can solve most of the things you are missing in EA or UML.

There are two things to consider when making an Addin:
- EA API as documented in EA
- SQL Update/Insert to do things not available within the API

Some experiences, a helping hand or an example of course.

For a start Thomas Kilian has written two useful E-Books (InsideEA + SriptingEA) to get an insight what is possible and how to do it.

The other thing is to make a simple model with only your problem at hand (e.g time constraint,..). Than explore with SQL the EA tables. Always a good source are:
- t_object
- t_xref

By the way: Many problems you can solve by naming conventions. E.G.:
- Give the time constraint a name
- Make a class with the name of the time constraint and the specification as an Tagged Value or a notes.

Another possibility is to bind the class with the time constraint to the class which have the responsibility to obey to this constraint.

You may have to understand the UML stereotype concept to add appropriate subtypes to your model (e.g. <<time constraint>>)

Helmut


Coaching, Training, Workshop (Addins: hoTools, Search&Replace, LineStyle)