Systems-Modeling / SysML-v2-Pilot-Implementation

Proof-of-concept pilot implementation of the SysML v2 textual notation and visualization
GNU Lesser General Public License v3.0
128 stars 24 forks source link

KerML::Element vs KerML::Root::Element #418

Closed Rots closed 2 years ago

Rots commented 2 years ago

I think there's a problem in the KerML files, apparently the KerML::Element was moved to KerML::Root::Element (in https://github.com/Systems-Modeling/SysML-v2-Pilot-Implementation/blob/2022-09/sysml.library/Kernel%20Libraries/Kernel%20Semantic%20Library/KerML.kerml#L31) but it's still referenced with the old name in here

https://github.com/Systems-Modeling/SysML-v2-Pilot-Implementation/blob/2022-09/sysml.library/Kernel%20Libraries/Kernel%20Semantic%20Library/Metaobjects.kerml#L9

seidewitz commented 2 years ago

All of the KerML subpackages are imported into and re-exported from the top-level KerML package. So, all KerML metaclasses can still be referenced using only the KerML:: qualification (like KerML::Element).

Specifically, Core imports all members of Root (import Root::*;), Kernel imports all members of Core, which includes those from Root (import Core::*;), and KerML then imports all elements of Kernel (import Kernel::*;).

Rots commented 2 years ago

OK, I missed the transitive imports. Then this is a non-issue.