Spyderisk / domain-network

Network domain model
Apache License 2.0
1 stars 0 forks source link

Network accessibility inference bug #154

Closed mike1813 closed 1 month ago

mike1813 commented 1 month ago

If a system model contains a public cellular network, a backbone router is inferred to exist with no physical location (i.e., it is assumed to be in an unspecified, physically secure, space). This router provides the backbone network for the cellular network. It is also inferred to be connected to the Internet.

If one asserts the presence of the backbone router, by adding it with a 'providedBy' relationship from the cellular network, it is assumed to be in the global public space 'World'. This can be overridden by including a 'locatedIn' relationship to a separate asserted space.

However, if the router is locatedIn a separate space, we get a modelling error saying the Internet cannot be accessed from that space. In version 6a6-1-2, this arises because the construction pattern inferring that the router is connected to the Internet comes after patterns that infer the physical accessibility of networks (based on their connected devices), so they don't know the router will be connected to the Internet.

This issue could affect other devices that have inferred connections to networks.

The problem arises in the attached test case which was devised to test fixes for issue #152.

In this test case, domain model v6a6-1-2 fails to generate an 'accessibleFrom' relationship. The missing relationship has been inserted manually in the attached modified test.

mike1813 commented 1 month ago

There are two options to fix this:

  1. Replay the network accessibility pattern after any extra host connection inference patterns, including but not limited to the 5G backbone router connections. This should be done before the sequence that infers routes through hosts.
  2. Insert an accessibility relationship for networks whenever a new host connection is inferred.
mike1813 commented 1 month ago

Now fixed in branch 151.