Author Topic: How to model process/activity input/output  (Read 6377 times)

jaschag

  • EA Novice
  • *
  • Posts: 10
  • Karma: +0/-0
  • I love YaBB 1G - SP1!
    • View Profile
How to model process/activity input/output
« on: October 24, 2006, 08:29:57 am »
How should I model a process / activity that takes as "input" an object instance in a particular state and "outputs" the same instance in another state? E.g.

Order [unpaid] -> Process Payment -> Order [paid]

Thanks
« Last Edit: April 16, 2007, 04:45:22 am by jaschag »

«Midnight»

  • EA Guru
  • *****
  • Posts: 5651
  • Karma: +0/-0
  • That nice Mister Grey
    • View Profile
Re: Newbie question
« Reply #1 on: October 24, 2006, 10:03:42 am »
As an alternative, why not just use a State Chart? This might be the best way to get an overview, if you are only highlighting the information in your message.

If there is internal structure to your Activity, or if it is part of a process, you could use object flows. State could be indicated in various ways, a simple example being a comment attached to the pins or the object flow itself.

You could go deeper into this, but I'm trying to get you started.

Keep watching this thread, as others will jump in at all levels of detail.

HTH, David
No, you can't have it!

jaschag

  • EA Novice
  • *
  • Posts: 10
  • Karma: +0/-0
  • I love YaBB 1G - SP1!
    • View Profile
Re: Newbie question
« Reply #2 on: October 24, 2006, 10:44:13 am »
Hi David,

Thanks for the quick reply. I have a statechart that models the states (in this example Unpaid, Paid). The activity in this case will most likely result in more than just a state change (i.e. an automated payment and associated payment record may be generated) so I would like to convey that in addition to the possible states (that a plain statechart would). I am using object flows as you suggest but I guess my issue is that I cannot drop the same object instance with the two different states on the diagram as input and output of the activity. Is there another way of doing this (I do not want to create a new object for each state it happens to appear on a diagram in)?

TIA,

Jascha

«Midnight»

  • EA Guru
  • *****
  • Posts: 5651
  • Karma: +0/-0
  • That nice Mister Grey
    • View Profile
Re: Newbie question
« Reply #3 on: October 24, 2006, 12:10:34 pm »
Can you drop an instance of the Class onto the Activity diagram? (I don't have one handy to check this just now.) If you can, perhaps that would be enough, since you can have multiple objects (i.e. instances of a class rather than the class itself) on a diagram.
No, you can't have it!

jaschag

  • EA Novice
  • *
  • Posts: 10
  • Karma: +0/-0
  • I love YaBB 1G - SP1!
    • View Profile
Re: Newbie question
« Reply #4 on: October 24, 2006, 12:26:56 pm »
Yes I can do that but ea creates a new entry in the project database for the instance (i.e. in the browser) so I end up with multiple identical looking entries (all looking like the original class) in the browser that are annoying to say the least. What is the purpose of being forced to have all these dupicates in the browser? They seem to make it hard to work with and mess with documentation ???

Paolo F Cantoni

  • EA Guru
  • *****
  • Posts: 8599
  • Karma: +256/-129
  • Inconsistently correct systems DON'T EXIST!
    • View Profile
Re: Newbie question
« Reply #5 on: October 24, 2006, 12:59:34 pm »
Quote
Yes I can do that but ea creates a new entry in the project database for the instance (i.e. in the browser) so I end up with multiple identical looking entries (all looking like the original class) in the browser that are annoying to say the least. What is the purpose of being forced to have all these duplicates in the browser? They seem to make it hard to work with and mess with documentation ???
The instance entries shouldn't be identical.  You should be creating instances that correspond to the particular run states you are modelling.

Thus for your example, there should be two instances:
UnpaidOrder: Order and PaidOrder: Order.  
In the the notes section of each instance you can describe their overall characteristics and you can set the detail with the  [Context menu]|Advanced|Set Object State [Ctrl+Shift+S] and [Context menu]|Advanced|Set Run State [Ctrl+Shift+R]

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

jaschag

  • EA Novice
  • *
  • Posts: 10
  • Karma: +0/-0
  • I love YaBB 1G - SP1!
    • View Profile
Re: Newbie question
« Reply #6 on: October 24, 2006, 01:25:52 pm »
Hi Paolo,

What a helpful forum :)

The appearance in the project browser is the same even when I have set both a run state and object state - only the element name is showing. The diagram shows the object state but not the run state. The [Set feature visibility]/[Hide object runstate...] is not checked...

I am using pro version 6.5.797.

Any ideas?

Jascha
« Last Edit: October 24, 2006, 01:57:06 pm by jaschag »

Hermann_Pallasch

  • EA Novice
  • *
  • Posts: 16
  • Karma: +0/-0
    • View Profile
Re: Newbie question
« Reply #7 on: April 16, 2007, 03:10:36 am »
I absolutley agree with you in that the object instance in an activity - even if going through varius states - is one and  the same (and not, like it has to be expressed in EA, multiple    instances of the same class): The object's ID is/would be the same for all those representations.

So I strongly support the idea of (optionally) allowing multiple representations of an object on the same diagram: The clutter in activity object trees (and in their documentations on paper or in HTML!) will vanish at once!

Another efficient use of this (new) feature will be the use of the object on <<assembly lines>> in Erikson-Penker style diagrams.

So please Sparx give us the (configurable) option of showings objects (in different states) multiple times on a diagram.

Kind regards
Hermann Pallasch
Kind regards
Hermann

mikewhit

  • EA User
  • **
  • Posts: 608
  • Karma: +0/-0
  • Accessing ....
    • View Profile
Modelling object instance process
« Reply #8 on: April 16, 2007, 03:48:51 am »
Any chance that the post originator could choose a more helpful Subject name (use "Modify") ?

Incidentally I used to live near a place called Newby, but was never asked a question about it ;)
« Last Edit: April 16, 2007, 08:23:44 am by mikewhit »

rabra

  • EA User
  • **
  • Posts: 50
  • Karma: +0/-0
    • View Profile
Re: How to model process/activity input/output
« Reply #9 on: April 18, 2007, 02:16:55 am »
Hi,
what about using object nodes (in activities) / action pins (in actions)? (right mouse menu -> embedded elements -> add action pin (add object node)) Here you can set an 'instance classifier'.
As there can be multiple Pins on an action / activity, there is no problem to have an instance of the class ingoing and one outgoing, implicating that this instance is modified in the action.
I am not sure if this is the right way for you because in these instance classifiers the instance is not an element that has got a state. (Except if you name the pin like the state). Just an idea...