Author Topic: subState to State transitions  - mental block  (Read 5549 times)

sargasso

  • EA Practitioner
  • ***
  • Posts: 1406
  • Karma: +1/-2
  • 10 COMFROM 30; 20 HALT; 30 ONSUB(50,90,10)
    • View Profile
subState to State transitions  - mental block
« on: April 04, 2007, 12:04:19 am »
I'm a bit stumped here.  I don't even know whether I've got a problem or not or if I do whether to do something about it ..or not.

N.B. Hereafter, (NAP= that's not a problem, that's how the "boat" is required to be)

I have this set of things that fit into an organizational heirarchy (NAP). The heirarchy is structured and finite (NAP), in fact three levels only.  Each level can be in a defined and  organized  set of states, each level having the same states (NAP).

There are 4 states for the levels:

  • proposed
  • active
  • obsolete
  • notational

and a whole shipload of transition constraints. (NAP)

Thank you for your patience, here's the beginning of the problem.

"Proposed" has three substates:

  • draft
  • developmental
  • ready


There is only one state transition, I am currently trying to flesh out proposed-->active.
One of the transition constraints is "only if substate = ("developmental" or "ready").  IOW, if the item is in substate "draft" then the proposed-->active transition is illegal.  This is again NAP (I could just show transitions between the two valid substates and "active")...

BUT
What I want to show is :
You can go from proposed-->active regardless of your substate, unless you are specifically prohibited! IOW, the real constraint at the state level is "!(substate = draft)".  This is fine today, BUT tomorrow the number of substates will change (they have done more than once already).

So, neither rendition ( subState--> state, or state --[Condition]--> state )is really giving me much joy.  

Any "good practice" advice? (Apart from the obvious, I lack both the flexibility and the plumbig tools.)  

bruce
« Last Edit: April 04, 2007, 12:08:48 am by sargasso »
"It is not so expressed, but what of that?
'Twere good you do so much for charity."

Oh I forgot, we aren't doing him are we.

Paolo F Cantoni

  • EA Guru
  • *****
  • Posts: 8607
  • Karma: +257/-129
  • Inconsistently correct systems DON'T EXIST!
    • View Profile
Re: subState to State transitions  - mental block
« Reply #1 on: April 04, 2007, 01:27:13 am »
Hi bruce,

As I understand your problem, you need to decouple the guard that controls the transition from the current set of business rules, yes?

Why not do that?

The guard condition is named: isAllowedToTranstionFromProposedToActive

and the definition of what that means is held elsewhere.

If you're happy, in principle, with this solution, we can discuss where the detail should be kept...

HTH,
Paolo
Inconsistently correct systems DON'T EXIST!
... Therefore, aim for consistency; in the expectation of achieving correctness....
-Semantica-
Helsinki Principle Rules!

mikewhit

  • EA User
  • **
  • Posts: 608
  • Karma: +0/-0
  • Accessing ....
    • View Profile
Re: subState to State transitions  - mental b
« Reply #2 on: April 04, 2007, 01:46:32 am »
One way would just to be to drop the concept of 'substate' in this context, and make 'draft' etc. states all on same level.

Then you could arrange all the transitions as you wished.

Probably merge 'ready' into 'proposed'.

Any easier ? Or does this thwart some other requirement?
Obviously it moves the issue round a bit.

Alternatively, just insist that substates of 'proposed' have to made 'ready' before they can become 'active' (etc.) - which makes a kind of sense since if they aren't 'ready', then ... they aren't ready.

I would have thought that one of the principles of having such a flow at all was to ensure that items were reviewed in some way before making a transition, hence readiness is a required condition to exit 'proposed'.

PS. "A nested sequential state diagram may have at most one initial state and one final state"
« Last Edit: April 04, 2007, 02:01:03 am by mikewhit »

«Midnight»

  • EA Guru
  • *****
  • Posts: 5651
  • Karma: +0/-0
  • That nice Mister Grey
    • View Profile
Re: subState to State transitions  - mental b
« Reply #3 on: April 04, 2007, 01:46:57 am »
Love it Paolo!

Now you could implement a «businessRule» class somewhere to reify the logic of the transformation.

David
No, you can't have it!

sargasso

  • EA Practitioner
  • ***
  • Posts: 1406
  • Karma: +1/-2
  • 10 COMFROM 30; 20 HALT; 30 ONSUB(50,90,10)
    • View Profile
Re: subState to State transitions  - mental b
« Reply #4 on: April 04, 2007, 03:04:12 am »
Hmm, all input gratefully acknowldged.

Quote
As I understand your problem, you need to decouple the guard that controls the transition from the current set of business rules, yes?
 
Why not do that?
Probably just sheer paranioa, hence the post, but
Quote
"A nested sequential state diagram may have at most one initial state and one final state"
, which is fine, but... 'tween the one(0001) intital state and the one(0001) final states, there exists an infite(&FFFF) set of occurences where we are somewhere twixt initial and final states (inclusive).

I think I'll go backand read the 1.5 spec and see if theeze wuz seemple then,  ... back shortly.

bruce
"It is not so expressed, but what of that?
'Twere good you do so much for charity."

Oh I forgot, we aren't doing him are we.

sargasso

  • EA Practitioner
  • ***
  • Posts: 1406
  • Karma: +1/-2
  • 10 COMFROM 30; 20 HALT; 30 ONSUB(50,90,10)
    • View Profile
Re: subState to State transitions  - mental b
« Reply #5 on: April 04, 2007, 03:07:58 am »
Quote
implement a «businessRule» class somewhere to reify the logic of the transformation.


Yep! that is - (more or less) exactly - the requirement, wish I could have put it so succinctly!

bruce
« Last Edit: April 04, 2007, 03:08:41 am by sargasso »
"It is not so expressed, but what of that?
'Twere good you do so much for charity."

Oh I forgot, we aren't doing him are we.

«Midnight»

  • EA Guru
  • *****
  • Posts: 5651
  • Karma: +0/-0
  • That nice Mister Grey
    • View Profile
Re: subState to State transitions  - mental b
« Reply #6 on: April 04, 2007, 03:22:04 am »
Quote

Yep! that is - (more or less) exactly - the requirement, wish I could have put it so succinctly!

bruce

And you will - which will be the model, of course.

But that still leaves:
Quote
...there exists an infite(&FFFF) set of occurences where we are somewhere twixt...

That would be the code.

Resolving this brutal dilemma is left to the reader as an exercise. [he said, gracefully copping out of the way]

David
No, you can't have it!

Paolo F Cantoni

  • EA Guru
  • *****
  • Posts: 8607
  • Karma: +257/-129
  • Inconsistently correct systems DON'T EXIST!
    • View Profile
Re: subState to State transitions  - mental b
« Reply #7 on: April 04, 2007, 03:31:43 am »
Quote
Love it Paolo!

Now you could implement a «businessRule» class somewhere to reify the logic of the transformation.

David
Couldn't (and didn't) put it better myself...   ;D

Remember: modelling is arty farty and of no practical use whatsoever... ;)

Paolo
« Last Edit: April 04, 2007, 03:32:17 am by PaoloFCantoni »
Inconsistently correct systems DON'T EXIST!
... Therefore, aim for consistency; in the expectation of achieving correctness....
-Semantica-
Helsinki Principle Rules!