Sparx Systems Forum

Enterprise Architect => General Board => Topic started by: FlunkStort on December 18, 2021, 12:22:50 am

Title: SysML Instance Modelling
Post by: FlunkStort on December 18, 2021, 12:22:50 am
I have a large system, structurally modelled using classes on BDDs with associated IBDs. Now I want to show that the large system is installed into multiple locations (system instance). Each system instance has different quantities of the "template" classes and, in some cases, the parts that compose the classes have different tagged values. So there are changes all the way down the structural model for each instance. Also note that each system instance may have objects not in the template, but that relate to or interact with objects from the system template.

At first, I created new classes for each system instance, using a generalization relationship to point back to the template system's class. But this leads to a lot of work for each system instance.

My second attempt used instance objects of each class used by the system instance. This minimizes the amount of work required to model a new system instance. But I am confused as to how I can show quantities of instance objects. My first thought was to use composition relationships with multiplicity, but you cannot use composition from (or to) instance objects. For the time-being, I have "usage" relationships with multiplicity from instance objects to system-instance-specific classes. But then, when I put those classes on another BDD, I have no indication of parts/properties (I understand that I wouldn't get those specific compartments due to the different relationship, but I was hoping a "used" compartment would show).

Being relatively new to SysML, am I completely missing something? I've seen some information about "instance modelling" in UML, but SysML doesn't seem to have that? Currently, SysML instance objects seem relatively useless... I cannot show how the instances relate to form a system instance. What I've seen on the internet usually runs along the "an instance object is a specific instance of a class, like Mercedes:Car..." I get that. But how do I use instance objects in a model?
Title: Re: SysML Instance Modelling
Post by: qwerty on December 18, 2021, 02:12:51 am
No an SysML expert, but you're probably looking for deployment. IIRC the example model of EA has good examples on that. It's UML but probably will also apply to SysML.

q.
Title: Re: SysML Instance Modelling
Post by: FlunkStort on December 18, 2021, 04:08:45 am
Interesting, definitely need to digest this more thoroughly! As I've been doing some research on deployment diagrams, much of what I see relates to software onto hardware (even the SysML related stuff). Let me clarify my original question with an example:

At my system template level, I have a block that represents a user station, composed of several other blocks (monitor, keyboard, mouse).

Now I go to my system instance, and want to show that Room 314 has three of those user stations in it. I also need to show that two of the instances have an $80 keyboard, and the other one has a $50 keyboard (at the moment, I have the price modelled as a tagged value of the keyboard block, which is composed into the user station block).

If I didn't have to show differences down to the keyboard level, I would be tempted to create a room block at the template level, compose my user station into it and then create an instance of the room named 314, setting the multiplicity of the user station to 3.

As it is, I have created a Room 314 block in the system instance, then put it onto a BDD with two instances of the user station block. I adjust the keyboard TV accordingly.
But now, I have to show that the user stations are "inside" the room. I can't use composition or aggregation. I could use allocate, but I dont understand the ramifications of allocate... it seems to have more meaning than I am willing to give this usage. So I've been using "uses" relationships between the block and the instances.
Title: Re: SysML Instance Modelling
Post by: qwerty on December 18, 2021, 09:00:22 am
You might wait for the SysML gurus here. For UML that's clearly an instance of a node (which would be a SysML block). But I'm not sure how instances in SysML are treated. I would guess similar to UML (so there must be a block instance classified with normal block). This instance would represent a concrete thing (with a price and a serial number).

q.
Title: Re: SysML Instance Modelling
Post by: Eve on December 20, 2021, 08:48:45 am
A UML Node is excluded in SysML.

I'm not sure if SysML is the most appropriate language for what you're trying to represent, but I would go for properties on a block. The properties can have a multiplicity as well as added information through tags.
Title: Re: SysML Instance Modelling
Post by: jandeliefde on December 20, 2021, 11:42:31 pm
I think SysML is not intend for instancing in the same way as UML but it can be used. We use SysML in that way. SysML BDD and IBD are then the blueprints of the configuration. We define elements like locations, rooms, equipment (pumps, elevators, ventilators, etc.) there value types and relationships. In the configuration model we define instances and use relations like Allocate, Part assocation and we fill in the Values.

I can show you some examples how we use SysML for the definitions of configurations, please contact me.
Title: Re: SysML Instance Modelling
Post by: FlunkStort on December 20, 2021, 11:46:33 pm
@Eve: Thanks for the information, I looked briefly at properties, but it was several months ago. I dont remember figuring out that you could have tags on properties. I'll have to revisit that!

But I am a little confused (even before I start researching) because I'm trying to model a system of systems, each level with specific blocks. Properties are not the same as blocks, correct? How can I represent something as being "underneath" a block's property? For example, if I have "Instructor system" and the system has a "User Station" modeled as a property, how do I show that the user station is composed of two monitors, a keyboard, and a mouse?

@jandeliefde: That does sound very much like what I'm trying to achieve!
Title: Re: SysML Instance Modelling
Post by: jandeliefde on December 21, 2021, 12:06:14 am
@FlunkStort define a BDD of a Userstation with Parts assocations of Keyboard, mouse and Monitor. Define the IBD and there relations
Use than the Userstations everywhere you need it. At the end you have a library of basic elements to be used for a definition of a system to be used for the definition of a configuration.

regards,
Jan
Title: Re: SysML Instance Modelling
Post by: Richardp on October 21, 2024, 07:49:19 am
Hi @FlunkStort, did you ever come to a conclusion on your problem?  I've got a similar problem, looking for a SysML solution to describing how to decompose systems geographically.  This thread just stopped - wondering if you've got an update.
Thanks
Title: Re: SysML Instance Modelling
Post by: vrieg on October 22, 2024, 01:44:48 am
We do it quite similar. We have a template block, parts, ports ibd.... this block is marked as template block via tags and stereotypes.
We then have scripts to inherit, derive, create variations of this block but all of those are also specified by the generalization relation ship in a bbd and then instantiated as needed.