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 - JoMa

Pages: [1]
1
I think you option is a good compromise.
Exploring my problem, I found allocate is a good way and my also suit my needs if some rules are applied. I think I use isAbstract=true to identify the logical component.
By the way, these logical components are relevant for my S-FMEA as a group of physical components with their functions building a new function while being assembled in bigger system.

Thanks!

2
Sure, I can use Ğallocateğ. For people familiar with SysML this might be easy to read, but I also consider "non SysML-speaker"  ;)
Additionally, I am thinking about exporting structures from EA to APIS IQ-FMEA for FMEA.
So there will be the question: How can I know what a logical-physical relationship is? Maybe I'll need to use the function tree and the elements allocated to the function ...

3
Uml Process / How to model logical structure alongside physical ones?
« on: July 19, 2016, 05:44:29 pm »
Hi,

I'm modelling physical structures using SysML. Naturally the "part of"/ composite association is the right association between two blocks. Now I need a kind of "logical structure" which I do not like to model fully in parallel. Idea is to use a different association to show a dependency of physical elements to the logical unit. The logical unit cannot be treated as a assembly or so, as its parts do not necessarily have a physical connection. It is more a collection of elements which together perform a function.
I thought about using the nesting, but I am not sure if this is correct.
Any ideas?

Thanx in advance,
JoMa

4
Hello,

I've created a MDG Technology containing scripts. One script is a diagram script. Unfortunately the MDG Technology seems to not support diagram scripts. Is there any solution or is this a bug?

Thanks,
Markus

5
Bugs and Issues / Re: Disable nesting in project browser
« on: March 31, 2015, 11:49:10 pm »
Hi Geert,

that is what I need, thank you very much!!!

Markus

6
Bugs and Issues / Disable nesting in project browser
« on: March 31, 2015, 11:37:21 pm »
Dear EA-Users,

unfortunately I run into a problem using properties with decomposition and detailed modelling.
Following the method of Oliver Alt (German trainer at OOSE) I build a library containing blocks. In the project model I use properties only. Now I'd like to build a decomposition diagram for functional analysis. That works. But if I model a function in detail using FlowItems in a ibd the subfunctions get nested. So the bdd with the decomposition gets "destroyed". Locking the property helps to avoid the nesting, but every time I move a property I get a warning message.

Is there any other solution? May it be possible to disable the auto-nesting?

Thanks in advance!

Cheers
Markus

7
That's it! My intention was to somehow overwrite the original Property, which has no stereotype at all by default. It worked for <<block>> by extending the UML::Class and using _metatype = Block and naming the new stereotype "block".
How to do this with a property so new elements have Type = Property but no stereotype?

8
You are right ...

Maybe this is off topic, but is there a way to detect whether "Show Stereotype Icon" in the diagram properties is enabled or not?
Using a complete own shape will not work with "Feature and Compartment Visibility ...", won't it?

9
I already assumed that ... unfortunately I will need to completely redesign the shape then ... without having bold font of the name and loosing some possibilities to manipulate the diagrams, I guess.

Luckily I found a good book about how to make Shape Script easy  ;)

Thanks anyway!

Markus

10
Hi,

here is the script. It does mainly evaluate the tagged values to draw two decorations (ASIL and element type). Now there is also the problem that the upper left decoration is drawn above the element name. It's a matter of the element size and name length, but looks ugly. Showing the stereotype by name helps but looks ugly, too.

Code: [Select]
shape main
{
      drawnativeshape();
      if (HasTag("ElementType","mechanical"))
      {
            setfillcolor(192,192,192);
            drawnativeshape();
            return;
      }
      if (HasTag("ElementType","electrical"))
      {
            setfillcolor(234,128,102);
            drawnativeshape();
            return;
      }
      if (HasTag("ElementType","logical"))
      {
            setfillcolor(204,255,204);
            drawnativeshape();
            return;
      }
      if (HasTag("ElementType","functional"))
      {
            drawnativeshape();
            return;
      }
}

decoration Type
{      
      orientation = "SW";
      if (HasTag("ElementType","mechanical"))
      {
            println("mech");
            return;
      }
      if (HasTag("ElementType","electrical"))
      {
            println("eHW");
            return;
      }
      if (HasTag("ElementType","logical"))
      {
            println("SW");
            return;
      }
      if (HasTag("ElementType","functional"))
      {
            println("Fct");
            return;
      }
}

decoration SIL
{
      orientation = "NW";
      if (HasTag("SafetyIntegrity"))
      {
            startpath();
            moveto(0,0);
            lineto(100,0);
            lineto(100,100);
            lineto(0,100);
            endpath();
      }
      
      // ASIL QM
      if (HasTag("SafetyIntegrity","ASIL QM"))
      {
            setfillcolor(0, 255, 0);
            fillandstrokepath();
            println("QM");
            return;
      }
      if (HasTag("SafetyIntegrity","ASIL QM(A)"))
      {
            setfillcolor(0, 255, 0);
            fillandstrokepath();
            println("QM(A)");
            return;
      }
      if (HasTag("SafetyIntegrity","ASIL QM(B)"))
      {
            setfillcolor(0, 255, 0);
            fillandstrokepath();
            println("QM(B)");
            return;
      }
      if (HasTag("SafetyIntegrity","ASIL QM(C)"))
      {
            setfillcolor(0, 255, 0);
            fillandstrokepath();
            println("QM(C)");
            return;
      }
      if (HasTag("SafetyIntegrity","ASIL QM(D)"))
      {
            setfillcolor(0, 255, 0);
            fillandstrokepath();
            println("QM(D)");
            return;
      }
      
      // ASIL A
      if (HasTag("SafetyIntegrity","ASIL A"))
      {
            setfillcolor(255, 255, 0);
            fillandstrokepath();
            print("A");
            return;
      }
      if (HasTag("SafetyIntegrity","ASIL A(B)"))
      {
            setfillcolor(255, 255, 0);
            fillandstrokepath();
            print("A(B)");
            return;
      }
      if (HasTag("SafetyIntegrity","ASIL A(C)"))
      {
            setfillcolor(255, 255, 0);
            fillandstrokepath();
            print("A(C)");
            return;
      }
      if (HasTag("SafetyIntegrity","ASIL A(D)"))
      {
            setfillcolor(255, 255, 0);
            fillandstrokepath();
            print("A(D)");
            return;
      }
      
      // ASIL B
      if (HasTag("SafetyIntegrity","ASIL B"))
      {
            setfillcolor(255, 104, 32);
            fillandstrokepath();
            println("B");
            return;
      }
      if (HasTag("SafetyIntegrity","ASIL B(C)"))
      {
            setfillcolor(255, 104, 32);
            fillandstrokepath();
            println("B(C)");
            return;
      }
      if (HasTag("SafetyIntegrity","ASIL B(D)"))
      {
            setfillcolor(255, 104, 32);
            fillandstrokepath();
            println("B(D)");
            return;
      }
      
      // ASIL C
      if (HasTag("SafetyIntegrity","ASIL C"))
      {
            setfillcolor(255, 0, 0);
            fillandstrokepath();
            println("C");
            return;
      }
      if (HasTag("SafetyIntegrity","ASIL C(D)"))
      {
            setfillcolor(255, 0, 0);
            fillandstrokepath();
            println("C(D)");
            return;
      }
      // ASIL D
      if (HasTag("SafetyIntegrity","ASIL D"))
      {
            setfillcolor(192, 0, 157);
            fillandstrokepath();
            println("D");
            return;
      }
}

Thanks,
Markus

11
yes, the own property appearance is changed by a shape script using two decorations. But the one on the upper right corner is not mine  ;)

12
Hi everyone,

I've created a SysML-profile refining the metaclass "property". Everything works fine, except I get an Icon on the top right corner everytime I use my own property. It can be hidden by changing diagram settings (Elements|Use Stereotyp Icons), but I'd like to hide it by default or even better define my own or no icon. Is there a way to do this?
I also refined a block, which more or less overwrites the SysML <<block>>. Here no such things happen.

Thanks in advance!

Markus

Pages: [1]