commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Rahul Akolkar (JIRA)" <j...@apache.org>
Subject [jira] Resolved: (SCXML-117) A multi-thread supported service and custom action management system for Apache Commons SCXML engine
Date Wed, 05 May 2010 01:14:03 GMT

     [ https://issues.apache.org/jira/browse/SCXML-117?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Rahul Akolkar resolved SCXML-117.
---------------------------------

    Resolution: Won't Fix

Many of the above are reasonable suggestions. However, these don't really belong to the core
library and there aren't any imminent plans for such a supporting module.

If we have such code available at some point, we can revisit whether it can be included and
how it may be packaged.


> A multi-thread supported service and custom action management system for Apache Commons
SCXML engine
> ----------------------------------------------------------------------------------------------------
>
>                 Key: SCXML-117
>                 URL: https://issues.apache.org/jira/browse/SCXML-117
>             Project: Commons SCXML
>          Issue Type: New Feature
>         Environment: Java environment
>            Reporter: Gui Xunlong
>   Original Estimate: 1344h
>  Remaining Estimate: 1344h
>
> Abstract:
>  
> Apache Commons SCXML is an implementation aimed at creating and maintaining a Java SCXML
engine capable of executing a state machine defined using a SCXML document which is very useful
to handler complex status transfer logic.This project aims to implement a multi-thread supported
service and custom action management system for Commons SCXML.
>  
> Description:
>  
> State Chart XML (SCXML) provides a generic state-machine based execution environment
based on Harel State Tables and is very useful to handler complex status transfer logic.Apache
Commons SCXML is an implementation aimed at creating and maintaining a Java SCXML engine capable
of executing a state machine defined using a SCXML document. It is just a single thread SCXML
engine,if user want to implement a whole SCXML based application, he must do some secondary
development jobs.
> This project aims to develop a open source multi-thread SCXML services management system.
It includes these main function module,and this is also what i need to do:
>  
> 1.Custom actions management module
> All the system custom actions are registered in a configuration xml named system_custom_actions.xml.

> Each custom action Java Class must implement interface org.apache.commons.scxml.model.Action,
and write practical code in function execute(final EventDispatcher evtDispatcher, final ErrorReporter
errRep, final SCInstance scInstance, final Log appLog, final Collection derivedEvents) 
> When system initializate, load all the custom actions Class from system_custom_actions.xml,instance
them and add them into system context environment.User can use this mechanism to add his own
custom actions to the system 
> Create a Java Swing based Graphics User Interface to add,modify,delete custom actions
into the system.
>  
> 2.Thread pool management module
> Use a thread pool mechanism to manage SCXML engines. The thread pool properties information
is stored in a XML confiuration file named system_thread_pool.xml,it includes these attributes:
min_thead_number,max_thread_number,thread_release_timespan may be some more 
> When system initializate, it will instance several SCXML engines objects according to
min_thread_number. If these thread are all busy, but one new service is start,system will
start a new thread to handle this service. The thead number can not outstrip max_thread_number.
If a thread has been free for a period of time which is marked by attribute thread_release_timespan,system
will release this thread. 
>  
> 3.Service management module
> Every application service is a SCXML document,all the system services are registered
in a configuration xml file named system_service.xml, each service has a unique id which is
used to mark the service.
>  
> 4.Service manage and monitor module
> Build a Java Swing GUI to check service list,start,stop,deploy or delete some services.And
also, it has a sub system to monitor running service status,look over data in running context,reset
this service or kill it.
> 5.Event dispatch module
> Implement a EventDispather class instance to send Event to the system. Each Event will
contain a service id which is used to mark its owner service and specific event content.
>  
> This is a whole SCXML deploy and management system. If user want to implement some SCXML
based application, just write proper SCXML document and corresponding custom actions,register
them in to the system,and start the service,it is done.
> I think it is a practical SCXML engine,it will make Apache Commons SCXML more and more
popular,In fact, i have finish some function module, such as custom action management module.
> I think this is a proper project for GSoC under Apache Commons SCXML, but i have not
a mentor yet, any one interested in it, please contact ustbcoder@gmail.com

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message