Re: Clojure statechart / hierarchical FSM implementation

2014-09-08 Thread Andre vd Merwe
On Mon, 2014-09-08 at 04:59 +0200, Kevin Lynagh wrote:
 and Horrocks' excellent Constructing the User Interface with
 Statecharts
 (http://www.amazon.com/Constructing-User-Interface-Statecharts-Horrocks/dp/0201342782).

 If you end up exploring the space and want to discuss
 design/implementation issues re: statecharts, I'd be happy to discuss
 off-list.

Hi Kevin,

Thanks for the links. I'll take a look at those. I'm considering
starting off small and seeing what I can do in as functional way as
possible. If I make any progress I'll definitely send you an email.


Andre


Information contained in this e-mail, including attachments and any rights 
hereto are the property of Portfolio Prospecting and Performance (Pty) Ltd 
(unless the context clearly indicates otherwise). It is confidential, private 
and intended for the addressee only and should you not be the addressee and 
receive it by mistake, kindly notify the sender and delete this information 
immediately without further disclosure to any other party. Save for bona fide 
views of Portfolio Prospecting and Performance (Pty) Ltd, views and opinions 
expressed in this e-mail are those of the sender only. Portfolio Prospecting 
and Performance (Pty) Ltd accepts no liability whatsoever for any loss or 
damages incurred, or suffered, arising from the use the information in this 
e-mail. Portfolio Prospecting and Performance (Pty) Ltd does not warrant the 
integrity of this e-mail nor that it is free of errors, viruses, interception 
or interference

-- 
You received this message because you are subscribed to the Google
Groups Clojure group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
Clojure group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: Clojure statechart / hierarchical FSM implementation

2014-09-07 Thread Kevin Lynagh
I've been working on an implementation of Harel's statecharts based on his 
original paper 
(http://www.wisdom.weizmann.ac.il/~dharel/SCANNED.PAPERS/Statecharts.pdf) 
and Horrocks' excellent Constructing the User Interface with Statecharts
(http://www.amazon.com/Constructing-User-Interface-Statecharts-Horrocks/dp/0201342782).

There's a brief demo of using statecharts with ClojureScript livereloading 
here:

https://www.youtube.com/watch?v=57wJpfMcfnU

However, my implementation is experimental and I want to spend six months 
building real software with Harel's notation before I consider releasing 
any code.
If you end up exploring the space and want to discuss design/implementation 
issues re: statecharts, I'd be happy to discuss off-list.

cheers,

Kevin

On Friday, September 5, 2014 12:13:43 AM UTC-7, Andre Van Der Merwe wrote:

  Does anyone know of a clojure implementation of a Harel statechart or 
 some variation of it (UML2 statechart, hierarchical FSM etc)? Specifically 
 I’d like the implementation to handle; hierarchical nesting, history 
 states, conditions, concurrency and communication if possible.

  

 Alternatively are there any papers or examples that you know of that 
 discuss implementing statecharts? Most of the ones I’ve seen are code-gen 
 tools and that does not really what I am after.

  

 Thanks.

  

 Andre.
  
 --
 Information contained in this e-mail, including attachments and any rights 
 hereto are the property of Portfolio Prospecting and Performance (Pty) Ltd 
 (unless the context clearly indicates otherwise). It is confidential, 
 private and intended for the addressee only and should you not be the 
 addressee and receive it by mistake, kindly notify the sender and delete 
 this information immediately without further disclosure to any other party. 
 Save for bona fide views of Portfolio Prospecting and Performance (Pty) 
 Ltd, views and opinions expressed in this e-mail are those of the sender 
 only. Portfolio Prospecting and Performance (Pty) Ltd accepts no liability 
 whatsoever for any loss or damages incurred, or suffered, arising from the 
 use the information in this e-mail. Portfolio Prospecting and Performance 
 (Pty) Ltd does not warrant the integrity of this e-mail nor that it is free 
 of errors, viruses, interception or interference
  

-- 
You received this message because you are subscribed to the Google
Groups Clojure group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
Clojure group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Clojure statechart / hierarchical FSM implementation

2014-09-05 Thread Andre vd Merwe
Does anyone know of a clojure implementation of a Harel statechart or some 
variation of it (UML2 statechart, hierarchical FSM etc)? Specifically I'd like 
the implementation to handle; hierarchical nesting, history states, conditions, 
concurrency and communication if possible.

Alternatively are there any papers or examples that you know of that discuss 
implementing statecharts? Most of the ones I've seen are code-gen tools and 
that does not really what I am after.

Thanks.

Andre.


Information contained in this e-mail, including attachments and any rights 
hereto are the property of Portfolio Prospecting and Performance (Pty) Ltd 
(unless the context clearly indicates otherwise). It is confidential, private 
and intended for the addressee only and should you not be the addressee and 
receive it by mistake, kindly notify the sender and delete this information 
immediately without further disclosure to any other party. Save for bona fide 
views of Portfolio Prospecting and Performance (Pty) Ltd, views and opinions 
expressed in this e-mail are those of the sender only. Portfolio Prospecting 
and Performance (Pty) Ltd accepts no liability whatsoever for any loss or 
damages incurred, or suffered, arising from the use the information in this 
e-mail. Portfolio Prospecting and Performance (Pty) Ltd does not warrant the 
integrity of this e-mail nor that it is free of errors, viruses, interception 
or interference

-- 
You received this message because you are subscribed to the Google
Groups Clojure group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
Clojure group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: Clojure statechart / hierarchical FSM implementation

2014-09-05 Thread pmf


On Friday, September 5, 2014 9:13:43 AM UTC+2, Andre Van Der Merwe wrote:

  Alternatively are there any papers or examples that you know of that 
 discuss implementing statecharts? Most of the ones I’ve seen are code-gen 
 tools and that does not really what I am after.

You should definitely read Miro Samek's Practical UML Statecharts in 
C/C++: Event-Driven Programming for Embedded Systems (don't be put off by 
the fact that this is for C and embedded systems; the book is a walk 
through through the implementation details of the author's commercial 
statechart framework which contains a lot of details that one would never 
think of beforehand).

It's the best resource on hierarchical statecharts (most of the others 
don't go into detail of shallow/deep history and the intricate details of 
the order of entry/exit actions when nesting is used).

As for tooling, while not really adhering to some aspects of Harel/UML 
semantics, I've found Yakindu Statecharts to be quite usable, but then 
you'll end up with code generation, which is apparently not what you want.

If you are thinking of implementing a purely textual DSL for hierarchical 
statecharts, I think it will not work. As much as I love text-only 
specfications, for nested state charts it will probably not be very nice.

-- 
You received this message because you are subscribed to the Google
Groups Clojure group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
Clojure group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


RE: Clojure statechart / hierarchical FSM implementation

2014-09-05 Thread Andre vd Merwe
Great thanks

 You should definitely read Miro Samek's Practical UML Statecharts in C/C++: 
 Event-Driven Programming for Embedded Systems

That sounds great, I’ll take a look.


while not really adhering to some aspects of Harel/UML semantics, I've found 
Yakindu Statecharts to be quite usable,
but then you'll end up with code generation, which is apparently not what you 
want.

I can live with code gen I guess. I’d just have preffered something more 
dynamic. However given the complexity to implement I may have to start off with 
what I can find.


If you are thinking of implementing a purely textual DSL for hierarchical 
statecharts, I think it will not work.
As much as I love text-only specfications, for nested state charts it will 
probably not be very nice

I think you may be right there. I originally just wanted simple FSM support but 
I’m concerned about the state-explosion issues as we try to model more complex 
processes hence looking at Harel state machines.


Thanks again. I’ll take a look for the book now.


From: clojure@googlegroups.com [mailto:clojure@googlegroups.com] On Behalf Of 
pmf
Sent: 05 September 2014 10:34
To: clojure@googlegroups.com
Subject: Re: Clojure statechart / hierarchical FSM implementation



On Friday, September 5, 2014 9:13:43 AM UTC+2, Andre Van Der Merwe wrote:
Alternatively are there any papers or examples that you know of that discuss 
implementing statecharts? Most of the ones I’ve seen are code-gen tools and 
that does not really what I am after.
You should definitely read Miro Samek's Practical UML Statecharts in C/C++: 
Event-Driven Programming for Embedded Systems (don't be put off by the fact 
that this is for C and embedded systems; the book is a walk through through the 
implementation details of the author's commercial statechart framework which 
contains a lot of details that one would never think of beforehand).

It's the best resource on hierarchical statecharts (most of the others don't go 
into detail of shallow/deep history and the intricate details of the order of 
entry/exit actions when nesting is used).

As for tooling, while not really adhering to some aspects of Harel/UML 
semantics, I've found Yakindu Statecharts to be quite usable, but then you'll 
end up with code generation, which is apparently not what you want.

If you are thinking of implementing a purely textual DSL for hierarchical 
statecharts, I think it will not work. As much as I love text-only 
specfications, for nested state charts it will probably not be very nice.

--
You received this message because you are subscribed to the Google
Groups Clojure group.
To post to this group, send email to 
clojure@googlegroups.commailto:clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.commailto:clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
---
You received this message because you are subscribed to the Google Groups 
Clojure group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to 
clojure+unsubscr...@googlegroups.commailto:clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Information contained in this e-mail, including attachments and any rights 
hereto are the property of Portfolio Prospecting and Performance (Pty) Ltd 
(unless the context clearly indicates otherwise). It is confidential, private 
and intended for the addressee only and should you not be the addressee and 
receive it by mistake, kindly notify the sender and delete this information 
immediately without further disclosure to any other party. Save for bona fide 
views of Portfolio Prospecting and Performance (Pty) Ltd, views and opinions 
expressed in this e-mail are those of the sender only. Portfolio Prospecting 
and Performance (Pty) Ltd accepts no liability whatsoever for any loss or 
damages incurred, or suffered, arising from the use the information in this 
e-mail. Portfolio Prospecting and Performance (Pty) Ltd does not warrant the 
integrity of this e-mail nor that it is free of errors, viruses, interception 
or interference

-- 
You received this message because you are subscribed to the Google
Groups Clojure group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
Clojure group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https