Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - Helmut Ortmann

Pages: 1 ... 48 49 [50] 51 52 ... 62
Uml Process / Re: Documentation for Activity Diagram Toolbox
« on: December 27, 2013, 06:54:22 am »

my personal view:

The quickest way is to
  • buy a book
  • make a training
  • get a coach for you and your team

Let me try to say it with some words. Forgive me for oversimplifying.

In UML an activity is a behavior. A behavior (an activity) can describe the behavior of a simple C-function or of a whole system, a part of a system or something else like a business process.

An activity diagram describes an behavior. Therefore it's a good idea to have an activity diagram for each activity.  

An activity, an activity diagram may contain arbitrary activities, actions, or control elements like decisions.

Actions are atomic operations where the modeler has no intention to refine them by means of UML.

Actions may be a bit confusing because of the many existing kinds. For the start you may need:
  • Atomic action (just the text and specification inside)
  • call operation action (call a method of a class)
  • call behavior action (call a behavior, an activity)

These elements together with:
  • Init
  • Final
  • Decision
  • Merge
  • Fork
  • Join
you have your basic toolset.

For the start: Learn to make valuable models. Think of yourself of an author who wants to explain your problem at hand to the invisible reader.

Stereotypes or tagged values are no concept to start with.

In my opinion most of the value of an UML model isn't generating a code but understanding the problem. After managing this you can look to code generation.

In mechanics we have:
  • side view
  • front view
  • top view

In UML we also have different views (diagram types) to our system at hand.

Therefore: Think about the best model kind for each type of problem. You may use a pincer to nail a nail into the wall.

Good luck,


Uml Process / Re: Baffled by rake symbol intricacies
« on: January 30, 2014, 06:20:46 pm »

Call Operation:
Just drag and drop an operation on the activity Diagram.
Use Call Operation if you want to have the relationship to your class model.

Call Beavior:
Just drag and drop an activity on the activity diagram. Choose Invocation.
Use Call Behavior if you want to call another activity or reuse beahavior.

Re Use of Activities:
You may drag an Activity(Composite Activity) by link on the diagram. You may drag an Activity as Invocation (Call Behavior) on the diagram. With a Call Behavior you can send parameters to an activity. For reuse of Beavior I only use Call Behaviors.  

Efficiently navigating and working:
Have a look on Geerts Navigator. I have my own Addin and a slightly different strategy.


Uml Process / Re: tracing from Activities to Actions
« on: January 10, 2014, 06:57:44 am »
Hi Robert,

I'm not sure I understood you right.

1. Diagrams which contains an action
Click on action + CTRL+U

2. Impact analysis by Search (SQL)

By the way: Usually an action is an aromatic thing which runs inside an activity. Therefore actions usually only occur once on that diagram which specify an activity. They are beneath/nested the activity which runs the action.

You may think of an action as one or more lines of code. Each line or group of code is unique within software module. For reuse of code/action you usually use similar strategies like in code. These are:
  • Call Operation Action
  • Call Behavior Action

Mostly, reuse of action isn't a good idea. Reuse of operations or behavior by calling them is a good idea.


Uml Process / Re: link between EAP Issue
« on: January 03, 2014, 06:29:04 am »

there is no way to link to another *.eap file.

What you can do is:
- Export your elements in *.eap(1) (xmi/xml)
- Import your elements in *.eap(2)
- Create the links in *.eap(2)
- By export / import of the links you have the links in both *.eap files

You can also use Version Control to accomplish this task.



Uml Process / Re: Find out where a diagram is used (linked)
« on: August 22, 2013, 07:07:18 pm »
Hi Alberto,

the Browser script to find diagram usage by right click, script, ..

Code: [Select]
option explicit

!INC Local Scripts.EAConstants-VBScript

'- Find Usage of Diagram
'- Diagram:   Find Usage of selected Diagram'
' History:
' 07. December 2011: Created
sub main()
      ' check diagram
      'Session.Output "test"
      'Session.Prompt "This script does support diagram items. ", promptOK
      dim guid
      dim id
      dim el
    dim s
      dim selected
      set selected       = Repository.GetContextObject()
      dim selectedDiagram as EA.Diagram ' to use intelli sense for Diagram
      Set selectedDiagram = selected  

      'on Diagram
      if not selected is nothing AND selectedDiagram.ObjectType = otDiagram then
                  Repository.RunModelSearch "Diagram usage", selectedDiagram.DiagramGUID, "", ""
                  exit sub
                  'Session.Output CStr(selectedConnector)
                  ' Session.Prompt "This script does not support diagram items of this type.", promptOK
          'in Browser
            ' Get the type of element selected in the Project Browser
            dim treeSelectedType
            treeSelectedType = Repository.GetTreeSelectedItemType()
            ' Handling Code: Uncomment any types you wish this script to support
            ' NOTE: You can toggle comments on multiple lines that are currently
            ' selected with [CTRL]+[SHIFT]+[C].
            select case treeSelectedType
      case otDiagram
                        dim theDiagram as EA.Diagram
                        set theDiagram = Repository.GetTreeSelectedObject()
                        Repository.RunModelSearch "Find CompositeElement of Diagram", theDiagram.DiagramGUID, "", ""
      ' Code for when a method is selected      
      '            case otMethod
                        case else
                        ' Error message
                              Session.Prompt "This script does not support items of this type.", promptOK
            end select
      end if
end sub


Create a script Group Browser Scripts, New VB Script, overwrite it

Uml Process / Re: Find out where a diagram is used (linked)
« on: August 22, 2013, 07:03:13 pm »
Hi Alberto,

the SQL:
Code: [Select]
Select o.ea_guid AS CLASSGUID, o.object_type As CLASSTYPE,
, o.Object_Type AS Type,  o.stereotype,'Reference to diagram' As Usage, As Diagram_Name, dia.diagram_type
#DB=DUMMY#    /*  Reference to Diagram    */ #DB=DUMMY#
#DB=JET#        t_object o INNER JOIN t_diagram dia on ( o.pdata1 = Format(dia.diagram_id ))   #DB=JET#
#DB=SQLSVR#        t_object o INNER JOIN t_diagram dia on ( o.pdata1 = dia.diagram_id )   #DB=SQLSVR#
#DB=ORACLE# t_object o INNER JOIN t_diagram dia on ( o.pdata1 = Cast(dia.diagram_id as Varchar2(39))             )   #DB=ORACLE#

where dia.ea_guid = '<Search Term>' AND o.object_type in ('InteractionOccurrence', 'Text', 'UMLDiagram')

Select o.ea_guid , o.object_type ,, o.Object_Type ,  o.stereotype,
  'Composite of diagram' , ' ', ' '
t_xref x INNER JOIN t_object o on (x.client = o.ea_guid)

where x.supplier = '<Search Term>'

order by 3,4,5


Uml Process / Re: How can I generate class diagrams from the .h?
« on: July 19, 2013, 04:45:20 am »

the import only creates classes from *.h/*.c files in case of C++/C.

A Diagram is a view of your system at hand. You, the modeler, defines what you want to see and what you want to communicate to your readers. A class is often part of several diagrams, several views.

For example you want to see the context of the class, a diagram. In another view / diagram you want to show the relations of the class. It's a different diagram with the same class but something other around it. In a third diagram you want to show the attributes of the class. This is just a new diagram with the same class and other visibility settings.

So you are the boss of your views. In other words you are the boss of what you want to tell. So it's your task to make some valuable diagrams.

Always keep in mind: If you delete a diagram the model will not change. It might be not understandable but in essence it's the same. A Diagram is simply a view to your model to improve understanding.


Uml Process / Re: How can I generate class diagrams from the .h?
« on: July 19, 2013, 12:31:19 am »

make sure the the default language is set to C
(Tools, Options, Sorce Code Engineering)
create an empty package:
- Right Click on the package
- Code Engeneering
- Import Source Directory
- Choose File Extens (C,H)
- Select Directory
- OK

EA creates the class(es). Create a diagram and drag the class onto the diagram.


Uml Process / Re: Design Hardware/Software dependencies in embed
« on: May 24, 2013, 04:14:52 am »

as mentioned before there are many possibilities.

My preferred methods are:

1. Find one or more stereotypes for hardware
I use simple <<HW>>, but you may find more specific elements like <<spi>>,<<uart>>,<<subsystem>>, <<extern>>,<<AUDI>> or what is important for you

2. Assign the stereotypes to class or blocks (UML/SysML)
    You may add some tagged values which are important for such a subtype. E.g. Baud-rate if its important.

3. Class/Block -Diagram or Composite Structure/Assembly -Diagram
    Decide which diagram type fits best your requirements.
    - Class/Block is the light way
    - Part in Composite Structure/Assembly -Diagram is the concrete way
    For a lot of peoples the difference between Class/Block and part is somehow fuzzy. Therefore I usually preferred modeling with Block/Class

4. Use Ports and Port Types to specify the connection points

5. Use connector to connect Ports

6. If it's important model the Item flows over the connectors .
    I usually prefer to define the transferred information by the port type or simple by a name. Of course, Interfaces will also do a good job.

7. In sequence Diagrams you can easily define the communication
    Because of stereotypes you always know who is participant in communication. <<subsystem>>, <<SPI>>,<<UART>>, <<system>>, <<extern>> for foreign unit are easily to understand.

With those approaches we have in effect an information flow. In discussion with system engineers or typical embedded developer this approach does a good job.

There is no "true way" to success. You have to take in account the experiences of your stake holders and ....

Kind regards,


Uml Process / Re: a unified process for SysML and UML
« on: March 27, 2013, 08:07:48 pm »
I'm interested too. Good idea!

Best regards,


Uml Process / Re: Alternatives to Information Flow connector?
« on: April 03, 2013, 08:08:13 am »
A short but valuable remark. Thanks a lot.


Uml Process / Re: Alternatives to Information Flow connector?
« on: April 03, 2013, 02:43:07 am »

there are some ways to model the conveyed information between classes or so:
  • Use ports, connections and interfaces
  • Use ports and type them by the conveyed information
  • Make an association and use an association class
  • Make flow with a class conveyed (the class contains all the subinformation)
  • Using Composite Structure Diagrams to visualize the concrete connections (with ports, conveyed items, interfaces)
  • Provided, Required Interface
  • ..

I personally prefer port/type and connector.

Be also aware that there are a semantic differences between the solutions. But who cares?

Best regards,


Uml Process / Re: Modelling processes that exchange messages
« on: April 03, 2013, 07:10:26 pm »

if it's important for you: Consider writing an Addin.

With an Addin you can do almost everything. A good example is the Navigator from Geert Belleken.

Kind regards,


Uml Process / Re: Modelling processes that exchange messages
« on: April 03, 2013, 07:03:52 am »
Hello Frans,

if I'm right you want to know which messages are exchanged between processes (sender and receiver).

You can model it with:
  • Sequence Diagram
  • Activity Diagram (actions)
  • Receiving Messages by Interface (signals)

To find out which messages are exchanges you need to analyze the system at hand. If it's implemented in a programming language you may use DoxyGen. You may find a tool with google or you may develop your own scanner.  

The content of a message you can model as a signal. I think, not sure about that, that you can export signals as XSD.

A signal is a class with the stereotype <<signal>>. The operation parameter represents the information conveyed (message).

The EA online help may give you further advice.

Best regards,


Uml Process / Re: Multiplicity in ports
« on: March 15, 2013, 10:26:30 pm »

in my opinion a port has no multiplicity, or just 1, because it's embedded (or just included) in an element. Therefore the port has the multiplicity of 1.

If a class has a port every instance of this class has this port. If a part has a port every instance of this part has exactly one port.

Kind regards,


Pages: 1 ... 48 49 [50] 51 52 ... 62