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
736
Uml Process / Re: Documentation for Activity Diagram Toolbox
« on: December 27, 2013, 06:54:22 am »
Hello,

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,

Helmut





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

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.

Helmut

738
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.

Helmut

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

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.

Helmut

 


740
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
      else
            '-------------------------------------------------------------------------------------
          '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

main()


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

741
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.name, o.Object_Type AS Type,  o.stereotype,'Reference to diagram' As Usage, dia.name As Diagram_Name, dia.diagram_type
#DB=DUMMY#    /*  Reference to Diagram    */ #DB=DUMMY#
from
#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')

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

where x.supplier = '<Search Term>'

order by 3,4,5

Helmut

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

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.

Helmut

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

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.

Helmut

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

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.

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

Kind regards,

Helmut
    

745
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,

Helmut

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

Helmut

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

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,

Helmut

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

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,

Helmut

749
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,

Helmut

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

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,

Helmut

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