MetaCase Homepage
Forum Home Forum Home > > MetaEdit+
  New Posts New Posts RSS Feed - Multible Ports inside a Table ?
  FAQ FAQ  Forum Search   Events   Register Register  Login Login

Multible Ports inside a Table ?

 Post Reply Post Reply
Author
Message
ThomasC View Drop Down
Member
Member
Avatar

Joined: 13.May.2024
Location: Austria
Points: 3
Post Options Post Options   Thanks (0) Thanks(0)   Quote ThomasC Quote  Post ReplyReply Direct Link To This Post Topic: Multible Ports inside a Table ?
    Posted: 13.May.2024 at 13:54
Hello ,
i am currently only evaluating the Application but i need a little hint in one place.

I created a Model with a Table ( according to the samples ) but i need to add 3 ports inside for on  collection attribute which should only be related to a different kind of relation.  (Abhängikeiten, Validierung and APF )

I cant find a way how to do it.

Is it possible and how ? 

thanks br thomas




Edited by stevek - 13.May.2024 at 14:45
Back to Top
stevek View Drop Down
MetaCase
MetaCase
Avatar

Joined: 11.Mar.2008
Points: 643
Post Options Post Options   Thanks (0) Thanks(0)   Quote stevek Quote  Post ReplyReply Direct Link To This Post Posted: 13.May.2024 at 15:14
If I understand correctly: the white objects above have three ports on their right edge — yellow, green and blue. Yellow can only be connected to APF, green only to Abhängigkeit, and blue only to Validierung (at least for the direction shown by the thicker lines). In the big blue Tabelle object, each row should have similar yellow, green and blue dots, with similar rules.

If you have unique yellow, green and blue objects for each Tabelle row (so 12 different objects in this Tabelle), that would be possible. Turn on 'Use subobjects as ports' in each of the three Templates on the right in the Symbol Editor for Tabelle, and specify there how to get from the Tabelle to that column's list of unique objects.

If however you don't have a unique objects existing for each of the 12 dots, then there isn't really a basis for using them as ports. The connection to a Tabelle has to know which port it's going to, so you can't reuse the same port. But the good news is you probably don't need to here. You already have enough information in what you are connecting - if it's a Validierung, you know it's a blue port. 

In that case, just have the role connect to the row in the Tabelle: the row will be the port, maintaining the information of which row the connection is for, and the Validierung or other object provides the information of what kind of connection this is (yellow, green or blue). To do that, turn on 'Use subobjects as ports' in the Template for the rows. You can get rid of the three Template columns on the right. This is then quite similar to the 'Class diagram with Ports' example in the demo repository's Port examples project. If you like, you can use the same approach as there, with one Template to show the rows (not used as ports) and a second Template to act as ports. 

Since your roles already have the colour (yellow/green/blue), I'm not sure you need dots. If you want them, they could be as circles at the end of the role line. You can put them at different distances from the end, so they don't overlap each other if there are several to the same row. 

It would be interesting to know what kind of semantics you're trying to capture here. You probably want to consider whether having 1-3 connections to each row could be hard to read. But that's the nice thing of a tool where you can play around with your ideas: you can quickly see what works visually for the common kinds of models, as well as giving the necessary information.
Back to Top
ThomasC View Drop Down
Member
Member
Avatar

Joined: 13.May.2024
Location: Austria
Points: 3
Post Options Post Options   Thanks (0) Thanks(0)   Quote ThomasC Quote  Post ReplyReply Direct Link To This Post Posted: 14.May.2024 at 10:55
Hallo Stevek,

thanks for this fast response.
i think i tried already the table has 3 templates all of them with same collection property and the "use subobjects as ports". the dots are taken from symbol lib.

The Table has a attribute "Fragen" which is a collection of "Frage [Tabelle]"
This attribute us used in the "Tabellen" Object to show some information and where the 3 templates are that are showing as ports.

And in the Binding for example the "Validation" relation is linked to the Table Object and there with the
collection base "Frage [Tabelle]" as a dynamic port.

But Problem is that connection from any of the Relations ( either "Validation" or "Abhängigkeiten" ) connects only to one of the 3 visible ports. ( doesnt matter which its automatically jump to one of them ( maybe in my case yellow because it was the first created, i don´t know !)


The semantics is "easy" we have a system where users are getting "questions" in an app (tablet) 
and this questions could have dependences ( "abhängigkeit" ) to other questions -answers if the questions are shown or not and they questions have validations rules where the answers checked against (if not messages are shown).  there is also a relation which gives the shown order.

APF are only some kind of same relations as a subgraph which where shown in diffent ways like in a popup , different page or immediate after the connected question.

Every tables cells defined here (header of a column) you can immagine as  "questions" as well with all same dependencies and validation rules. that is why there are 3 "ports" in the table to let users connect to each cell a APF , Dependency Rule or Validation Rule.
(for example a "Abhängigkeit" relation could mean a column or even a cell is shown or disabled depending on the answers of other questions )


What i want to achive is from this visualisation a generated output to fill our configuration tables in db with it. 
Our system will taking this configurations and some runtime data 
and transform it first to json which is send to => app which is render them to => end user.

In this case the question rules inkl. all other stuff could be more easily developed by our business itself and need less programming support.

br


Back to Top
jpt View Drop Down
MetaCase
MetaCase
Avatar

Joined: 25.Mar.2008
Points: 253
Post Options Post Options   Thanks (0) Thanks(0)   Quote jpt Quote  Post ReplyReply Direct Link To This Post Posted: 14.May.2024 at 13:33
A dynamic port, like C2 Anzahl in TAB A, can not be used multiple times “subobject as ports”. In other words, the same dynamic port can not be used as yellow, green, and blue connection at the same time.

One alternative way would be providing just one template with question "used as subobject for ports" and then having bindings ‘Abhängikeiten, Validierung and APF’ to it. If visual hint with yellow, green and blue symbols are wanted they can be shown before having bindings created. In other words, in the subsymbol they can have constraints hiding them when used. See this idea illustrated below.

I believe the model still has all the information needed for the modeler and for generating the wanted output as the first example.
Model and metamodel definition
Back to Top
ThomasC View Drop Down
Member
Member
Avatar

Joined: 13.May.2024
Location: Austria
Points: 3
Post Options Post Options   Thanks (0) Thanks(0)   Quote ThomasC Quote  Post ReplyReply Direct Link To This Post Posted: 21.May.2024 at 14:06
Thanks i understand. Its a good idea only the connection status it would be enough information for users your right. 
Back to Top
 Post Reply Post Reply

Forum Jump Forum Permissions View Drop Down

Forum Software by Web Wiz Forums® version 12.05
Copyright ©2001-2022 Web Wiz Ltd.

This page was generated in 0.039 seconds.