Uploaded image for project: 'SAFe Program'
  1. SAFe Program
  2. SP-2077

Refactor and release long running command implementation in ska-tango-base

Change Owns to Parent OfsSet start and due date...
    XporterXMLWordPrintable

Details

    • Obs Mgt & Controls
    • Hide

      Refactoring relevant areas of the ska-tango-base codebase according to the MCCS-852 proposal better accommodates devices which are themselves asynchronous in nature and better separates interfaces from concurrency mechanisms.

      Show
      Refactoring relevant areas of the ska-tango-base codebase according to the MCCS-852 proposal better accommodates devices which are themselves asynchronous in nature and better separates interfaces from concurrency mechanisms.
    • Hide
      • LRC Interface updated according to MCCS-852: Proposal for SP-2077, Long Running Commands
        • Modify the implementation to better support LRC payloads that are themselves implemented asynchronously.
        • Decouple the Tango interface for long-running commands from the concurrency mechanism used to deliver them.
           
      • Tests updated and passing
      • Documentation updated with relevant examples
      • Base and Subarray devices
      • New version released and available from CAR
      Show
      LRC Interface updated according to  MCCS-852: Proposal for SP-2077, Long Running Commands Modify the implementation to better support LRC payloads that are themselves implemented asynchronously. Decouple the Tango interface for long-running commands from the concurrency mechanism used to deliver them.   Tests updated and passing Documentation updated with relevant examples Base and Subarray devices New version released and available from CAR
    • 3
    • 3
    • 40
    • 13.333
    • Team_KAROO, Team_MCCS
    • Sprint 5
    • Hide

      Coding for this feature was conducted on the MCCS-876 branch. In the merge request for this branch you will find an explanation and rationale for the design.

      The Tango layer has been decoupled from the concurrency mechanism (MCCS-878). This gives flexibility in the implementation of concurrency.

      A command tracker (MCCS-876) allows the Tango layer to track the status of command execution,, without being coupled to the implementation.

      Component managers now use call-backs to indicate change of state. This allows the decoupling of the LRC interface from the implementation (MCCS-877). Such an explicit signalling mechanism removes the reliance on the implicit signalling of thread completion, better to permit the use of payloads which are themselves implemented asynchronously (MCCS-879).

      After review of this work (SAR-336) tests and type hinting were completed (SAR-351) and the documentation brought up to date (SAR-341).

      The updated Tango base classes were released to CAR as version 0.13.0 (artefact links here)

      Show
      Coding for this feature was conducted on the MCCS-876 branch. In the merge request for this branch you will find an explanation and rationale for the design. The Tango layer has been decoupled from the concurrency mechanism (MCCS-878). This gives flexibility in the implementation of concurrency. A command tracker (MCCS-876) allows the Tango layer to track the status of command execution,, without being coupled to the implementation. Component managers now use call-backs to indicate change of state. This allows the decoupling of the LRC interface from the implementation (MCCS-877). Such an explicit signalling mechanism removes the reliance on the implicit signalling of thread completion, better to permit the use of payloads which are themselves implemented asynchronously (MCCS-879). After review of this work (SAR-336) tests and type hinting were completed (SAR-351) and the documentation brought up to date (SAR-341). The updated Tango base classes were released to CAR as version 0.13.0 (artefact links here )
    • 13.6
    • Stories Completed, Solution Intent Updated, Outcomes Reviewed, Demonstrated, Satisfies Acceptance Criteria, Accepted by FO
    • PI22 - UNCOVERED

    • Cross_Team_Code_Review SS-54 Team_KAROO mccs_software

    Description

      During PI11 the KAROO team investigated how ska-tango-base could be updated to implement a solution to address the long running commands (LRC) issue that has been identified in various areas of the SKA software community.  The solution identified was implemented in PI12, and the MCCS team adopted the approach to prove it and identify learnings and recommend any further changes. This feature is to refactor the LRC implementation in light of those learnings / recommendations, and finally to release and socialise the solution.

      The specific refactoring work identified are:

      • Modify the implementation to better support LRC payloads that are themselves implemented asynchronously.
      • Decouple the Tango interface for long-running commands from the concurrency mechanism used to deliver them.

      For details see https://confluence.skatelescope.org/display/SE/MCCS-852%3A+Proposal+for+SP-2077.

      Attachments

        Issue Links

          Structure

            Activity

              People

                s.vrcic Vrcic, Sonja
                r.braddock Braddock, Ralph
                Votes:
                0 Vote for this issue
                Watchers:
                3 Start watching this issue

                Feature Progress

                  Story Point Burn-up: (100.00%)

                  Feature Estimate: 3.0

                  IssuesStory Points
                  To Do00.0
                  In Progress   00.0
                  Complete920.5
                  Total920.5

                  Dates

                    Created:
                    Updated:
                    Resolved:

                    Structure Helper Panel