Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Issue with CP DC-R+RW #193

Open
mike1813 opened this issue Jan 4, 2025 · 1 comment
Open

Issue with CP DC-R+RW #193

mike1813 opened this issue Jan 4, 2025 · 1 comment

Comments

@mike1813
Copy link
Member

mike1813 commented Jan 4, 2025

A DataCentre represents a private space containing a Cluster of physical servers on a wired LAN provided by a physical Router, through which the DataCentre may be connected to other networks including the Internet. The Cluster and the Router are 'resourcedBy' the Data Centre, which means they provide the means to host services or VMs that are managed by the Data Centre.

System modeller users can insert the Router, Servers and WiredLAN assets explicitly, but if they do not they are added by construction patterns.

Construction pattern DC-R+RW checks if there is a physical Router, and if not, it adds a router providing a WiredLAN to a DataCentre. In principle this is incorrect, because it is possible that a user may assert the presence of the WiredLAN but not the providing Router or vice versa.

In principle, the three assets should exist and be related as follows:

  • Router-resourcedBy-DataCentre
  • WiredLAN-providedBy-DataCentre
  • WiredLAN-providedBy-Router

The DataCentre cannot be inferred from the other two, as the WiredLAN and Router could exist in any Space, so it must be asserted. That leaves the following possibilities, which should be covered by separate construction patterns:

  • DataCentre has no related Router or WiredLAN, so both should be created along with all three relationships
  • DataCentre has a related Router but no WiredLAN, and the Router provides no WiredLAN, so the WiredLAN should be created with two relationships
  • DataCentre has a related Router providing a WiredLAN but one not related to the DataCentre, so the WiredLAN-providedBy-DataCentre relationship should be added
  • DataCentre has a related WiredLAN but no Router, and the WiredLAN is not provided by any Host, so the Router should be created with two relationships
  • DataCentre has a related WiredLAN provided by a Router but one not related to the DataCentre, so the Router-resourcedBy-DataCentre relationship should be added
  • DataCentre has a related WiredLAN and Router, but the WiredLAN is not provided by any Host, so the WiredLAN-providedBy-Router should be added

There is a potentially open question whether the Router must be a Router. If another Host provides a WiredLAN, this could in principle be used instead.

@mike1813
Copy link
Member Author

mike1813 commented Jan 9, 2025

Test

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant