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

Understanding federations #15

Open
mkep-dev opened this issue Mar 22, 2022 · 1 comment
Open

Understanding federations #15

mkep-dev opened this issue Mar 22, 2022 · 1 comment

Comments

@mkep-dev
Copy link

mkep-dev commented Mar 22, 2022

I would like to understand how federations work.

As far as I understand they are a union of multiple zones (DBMs) to represent non-convex zones.

Is there a paper or a documentation to understand this data structure and its operations better?

I need to represent a zone where upper right corner (future) is excluded (in case of 2 clocks).

I already have a working implementation of DBMs, but I need to represent non-convex zones.
It would be great of there is something like pseudo code for the logic of the main zone operations on federations:

  • up (let time pass)
  • down
  • reset clocks
  • free clocks
  • subset or equal
  • canonical form of the federation (?)
  • intersection
  • is federation empty
  • reduce the federation
  • k-normalization
  • subtract (this should be simply the intersection of the negated DBMs with the federation)

As far as I understand up, down, reset, free and intersection are just directly applied on every sub DBM. The rest of the code is not that as easy to understand.

Is it necessary to manually reduce the federation after every operation.

I know that's a strange and not lightweighted request, but it's important for my thesis.

Thank you in advance.

@mikucionisaau
Copy link
Member

mikucionisaau commented Jun 14, 2022

There are quite a few pointers to literature on the wiki tab.

I think the easiest would be to explore it through ruby bindings (it can display DBM graphically). Unfortunately this part is currently broken and awaits a new repository.

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

2 participants