Commons SCXML
  1. Commons SCXML
  2. SCXML-7

[scxml] Write Use Case for Stand-alone Application Modelling a Stop Watch

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 0.5
    • Labels:
      None
    • Environment:

      Operating System: other
      Platform: Other

      Description

      SCXML has two good use case documents, one is about RDC and one about Shale
      dialogs. There are a good start, but it would be helpful if SCXML had another
      usecase that wasn't tied to either a voice application or a web MVC framework.
      Something at a conceptual level that people looking to use SCXML for a general
      finite state machine can relate to without having to be familiar with another
      framework.

      The question is, what should this example be? We could use the Microwave
      example from the working draft, but that might be too much for a quick
      introduction. Instead it might be better to choose something that doesn't have
      parallel states, maybe the status of a document in a content management system
      with four/five simple states and simple transitions that just shows off the
      basic usecases of the state machine execution environment in a standalone
      environment.

        Activity

        Hide
        Stephen Colebourne added a comment -

        I had to use a stopwatch state machine (ready/running/paused/stopped) to
        actually understand SCXML for Javapolis. This may be a simple four state machine
        that could be used here.

        Show
        Stephen Colebourne added a comment - I had to use a stopwatch state machine (ready/running/paused/stopped) to actually understand SCXML for Javapolis. This may be a simple four state machine that could be used here.
        Hide
        Rahul Akolkar added a comment -

        Definitely, simpler usecases might go a long way in getting the concept of the
        component across to our development community. Potential suggestions we've
        seen so far:

        1) Microwave example from spec (version without parallel states)
        2) Stephen's stopwatch example from his Javapolis talk
        3) Tim's suggestion about the document lifecycle in a CMS

        We have (1) in the src/test subtree. If you guys have SCXML documents for (2)
        and (3), feel free to add them under the obvious places (xdocs/ as a usecase
        for the website, under src/test or even to this ticket, however you see fit).

        I don't mean to be shy towards doing the work, just making sure I wasn't
        coming off as gate-keeping SCXML in any way

        Show
        Rahul Akolkar added a comment - Definitely, simpler usecases might go a long way in getting the concept of the component across to our development community. Potential suggestions we've seen so far: 1) Microwave example from spec (version without parallel states) 2) Stephen's stopwatch example from his Javapolis talk 3) Tim's suggestion about the document lifecycle in a CMS We have (1) in the src/test subtree. If you guys have SCXML documents for (2) and (3), feel free to add them under the obvious places (xdocs/ as a usecase for the website, under src/test or even to this ticket, however you see fit). I don't mean to be shy towards doing the work, just making sure I wasn't coming off as gate-keeping SCXML in any way
        Hide
        Tim O'Brien added a comment -

        Alright, good discussion. I think we should write quick use case revolving
        around a stop watch example.

        The microwave example from the spec is interesting in that it shows off parallel
        states and a bunch of more complex requirements, but I think that we should have
        one example that is dead simple for new users.

        From Stephen's post: (ready/running/paused/stopped) - I'll take the state
        diagram from his Javapolis presentation here
        (http://wiki.javapolis.com/confluence/display/JP05/New+and+Upcoming+in+Jakarta+Commons)
        BTW, we should be linking to this from the commons website or the wiki at least.

        Show
        Tim O'Brien added a comment - Alright, good discussion. I think we should write quick use case revolving around a stop watch example. The microwave example from the spec is interesting in that it shows off parallel states and a bunch of more complex requirements, but I think that we should have one example that is dead simple for new users. From Stephen's post: (ready/running/paused/stopped) - I'll take the state diagram from his Javapolis presentation here ( http://wiki.javapolis.com/confluence/display/JP05/New+and+Upcoming+in+Jakarta+Commons ) BTW, we should be linking to this from the commons website or the wiki at least.
        Hide
        Rahul Akolkar added a comment -

        See (long URL, may get fragmented):

        http://jakarta.apache.org/commons/sandbox/scxml/usecases/scxml-stopwatch.html

        As you point out, usecases are vital – critiques and suggestions for
        improvement are most welcome.

        Show
        Rahul Akolkar added a comment - See (long URL, may get fragmented): http://jakarta.apache.org/commons/sandbox/scxml/usecases/scxml-stopwatch.html As you point out, usecases are vital – critiques and suggestions for improvement are most welcome.
        Hide
        Rahul Akolkar added a comment -

        Re-assigning from Sandbox to SCXML.

        Show
        Rahul Akolkar added a comment - Re-assigning from Sandbox to SCXML.

          People

          • Assignee:
            Unassigned
            Reporter:
            Tim O'Brien
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development