[ 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 > ustbco...@gmail.com -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.