GuggaFF TaskManager and ASAP ActionQueue

0 views
Skip to first unread message

flashguru

unread,
Nov 15, 2006, 11:02:16 AM11/15/06
to Gugga Flash Framework
Thanks for your work on this open framework.

I am currently using ASAP ActionQueue, and would like to know how
GuggaFF TaskManager differs from ActionQueue and ExtendedActionQueue.

Here is the link to the documentation of the ActionQueue API
http://asapframework.org/api/org_asapframework_util_actionqueue_ActionQueue.html

Thanks

Nikita Dudnik

unread,
Nov 16, 2006, 2:35:57 AM11/16/06
to gug...@googlegroups.com
The main difference is the gugga framework's ability to handle asynchronous operations.
Here is explanation:
http://www.gugga.com/flashblog/2006/10/basics-of-tasks-and-sequences-in_20.html

flashguru

unread,
Nov 16, 2006, 10:21:47 AM11/16/06
to Gugga Flash Framework
Hello Nikita,
Thanks for your comment.

I always thought that the whole idea behind ActionQueue is to handle
asynchronous operations.

>From my short reading about GuggaFF task manager, I came to the
conclusion that ASAP Action Queue and GuggaFF task manager are
addressing the same issue.


On Nov 16, 2:35 am, "Nikita Dudnik" <nikdud...@gmail.com> wrote:
> The main difference is the gugga framework's ability to handle asynchronous
> operations.

> Here is explanation:http://www.gugga.com/flashblog/2006/10/basics-of-tasks-and-sequences-...

Nikita Dudnik

unread,
Nov 16, 2006, 10:51:03 AM11/16/06
to gug...@googlegroups.com
Sorry. It wasn't clear enough to use the word asynchronous.
The feature I can't find in ASAP Framework is the ability to complete the following scenario:
http://www.gugga.com/GuggaFlashFramework/samples/images/task1.jpg

As you can see from the diagram there are composites of operations. The operation after composite happen only when all the operations in the composite are finished. This is very handy for my work.

Or maybe I skipped something in the ASAP Framework docs and you could point it out to me. =)
Thanks.

flashguru

unread,
Nov 16, 2006, 1:55:24 PM11/16/06
to Gugga Flash Framework
Oh,

Yeah, you can achieve the same behavior in ExtendedActionQueue be using
'wait for message' or 'wait for condition' and if you want to have two
or more tasks running at the same time you can use the addInAction(),
or simply insert another ActionQueue as a task.

Nikita Dudnik

unread,
Nov 16, 2006, 3:39:29 PM11/16/06
to gug...@googlegroups.com
Thanks a lot! Looks like in most (simple?) cases you can achieve same things with both frameworks. This frameworks still can have some specific benefits for some specific tasks. But at the moment I can't see any dramatic differences.

On 11/16/06, flashguru <norea...@yahoo.com> wrote:

Branimir Angelov

unread,
Nov 17, 2006, 6:51:44 AM11/17/06
to gug...@googlegroups.com
Hi everybody,

I want to point out some conceptual differences between ActionQueue and
TaskManager.
The first of them is that ActionQueue and TaskManager work on different
levels of abstraction. ActionQueue manages the execution of units
abstracted by Function class
and TaskManager manages the execution of units abstracted by ITask
interface. This is very important because Function class comes as
element of functional programming paradigm (as we know ActionScript is
multi-paradigm programming language) and it has some specific
characteristics. Using it involves completely different style and
capabilities when you are developing applications with ActionQueue and
TaskManager. In GuggaFF we choose ITask abstraction, because when we are
developing our tasks library or implementing some custom tasks for
certain application we can use all of the OO advantages. This allows us
to benefit from inheritance, encapsulation, polymorphism and strong
typing. In addition you can employee the arsenal of Design Patterns.

Another difference is in the abstract data structures which stays behind
TaskManager and ActionQueue. TaskManager manages web of tasks and
ActionQueue manages an queue of functions in ordered manner (although
there are some exceptions like addInAction method). This difference is
very important in situations like
http://www.gugga.com/GuggaFlashFramework/samples/images/task1.jpg where
Task3 waits for the completion of Task1, Task2 and the meeting of P1
and P2. The main thing here is that if you don't know the order in which
this conditions will be met you can't model this situation in ordered
structure. You can't first wait for message1 and then for message2 when
you don't know which message will happens first. Imagine that we have a
loader and an animation and you want to execute some action after both
of them complete. I/O operations in flash run on separate thread and you
can start these two tasks synchronous, but you wouldn't know the order
of their completion. This scenario is covered by
http://www.gugga.com/flashblog/2006/10/basics-of-tasks-and-sequences-in_20.html
article in PreconditionsManager section.

Of course this is just brief explanation, because I haven't had a deep
look into ASAP framework.

Best,
Branimir.

Nikita Dudnik wrote:
> Thanks a lot! Looks like in most (simple?) cases you can achieve same
> things with both frameworks. This frameworks still can have some
> specific benefits for some specific tasks. But at the moment I can't
> see any dramatic differences.
>

> On 11/16/06, *flashguru* <norea...@yahoo.com

Reply all
Reply to author
Forward
0 new messages