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

Unification of workflow descriptions & KNIX specific extensions to ASL description #19

Closed
iakkus opened this issue May 25, 2020 · 4 comments
Assignees
Labels
design The issue is related to the high-level architecture finished When a bug is fixed or a feature has been implemented improvement Improvements to an existing component

Comments

@iakkus
Copy link
Member

iakkus commented May 25, 2020

[Environment]: Kubernetes, bare metal
[Known affected releases]: master (includes all releases)

Currently, there are two workflow descriptions: 1) ASL and 2) KNIX-specific.

We should extend ASL that is accepted by the platform, so that we can support KNIX-specific functionalities (e.g., session functions, checkpointing flag) and can have a unified workflow description.

@iakkus iakkus added design The issue is related to the high-level architecture improvement Improvements to an existing component labels May 25, 2020
@iakkus iakkus added the in progress This issue is already being fixed label May 26, 2020
@iakkus iakkus self-assigned this May 26, 2020
@iakkus
Copy link
Member Author

iakkus commented May 26, 2020

Started implementation on branch feature/asl_knix_flags.

@iakkus
Copy link
Member Author

iakkus commented May 26, 2020

Added some test cases that utilize session functions as well as checkpoints flag. These tests pass.

Need to update GUI for validation checks.

@iakkus
Copy link
Member Author

iakkus commented Jun 8, 2020

The complete list of KNIX-specific flags:

  1. SessionFunction (bool): specifies whether this function is a session function (default: false)
  2. SessionFunctionParameters (dict): specifies the parameters of a session function (default: {})
  3. EnableCheckpoints (bool): specifies whether checkpoints between states should be taken (default: true)
  4. AllowImmediateMessages (bool): specifies whether functions can send immediate messages to other functions to trigger them asynchronously (i.e., no response). The usage of sendToFunctionNow() API call can cause unexpected behavior, because the triggered function can continue making transitions in the specified state machine. (default: false)
  5. WaitForNumBranches (list (int)): specifies how many branches of a Parallel state need to be finished before transitioning to the next state. There can be multiple such values and hence, multiple transitions. The usage of WaitForNumBranches can cause unexpected behavior, because the triggered function may continue making transitions in the specified state machine. (default: [num_total_branches_in_parallel])

@iakkus iakkus changed the title unification of workflow descriptions Unification of workflow descriptions Jun 17, 2020
@iakkus
Copy link
Member Author

iakkus commented Jun 17, 2020

In the API docs, we should add warnings to the API functions that are relevant to KNIX-specific features. These include:

  1. session related functions
  2. immediate message functions
  3. dynamic workflow manipulation functions
  4. CRDT operations
  5. any others?

Edit: Issues #45 and #46 are about API docs. These could be added there.

iakkus pushed a commit that referenced this issue Jun 19, 2020
@iakkus iakkus added finished When a bug is fixed or a feature has been implemented and removed in progress This issue is already being fixed labels Jun 19, 2020
@iakkus iakkus closed this as completed Jun 19, 2020
@iakkus iakkus changed the title Unification of workflow descriptions Unification of workflow descriptions & KNIX specific extensions to ASL description Jun 25, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
design The issue is related to the high-level architecture finished When a bug is fixed or a feature has been implemented improvement Improvements to an existing component
Projects
None yet
Development

No branches or pull requests

2 participants