Skip to main content
GameDev.net gamedev.net

PRO Tired of ads? Read GameDev.net ad-free and help keep the community independent with GameDev Pro — $3/month.

Argh

Argh

Metron
My personal space of thoughts... · · 2 min read
385 0
Gosh... it has been a month since my last entry... I must say that I really was quite busy the last couple of weeks. I worked on the business software for the german music label and had to write a performance analysis tool for Ford Motor Company (also Germany). I also had to write a performance analysis for Ford. Came up to ~65 pages and ~50 graphs...

I managed to free some time to work my Simple SCXML stuff. I improved the event system and the parallel states. Did a lot of testing to see if everything works as expected. Currently I'm simplifying the header files that interface with any application that would like to work with my lib. It's starts out to get quite slim. Here's a first draft of the State Machine Interface:
namespace SSCXML{	class ISScxml	{	public:		virtual ScxmlString getVersion() const = 0;		virtual void        update(float _fTimeDelta) = 0;		virtual bool        isInFinal() = 0;		virtual void        addEvent(const ScxmlString &_senderID, const ScxmlString &_event, float _delay, const ScxmlString &_targetType, const ScxmlString &_target) = 0;		virtual void        addEvent(const ScxmlString &_senderID, const ScxmlString &_event, float _delay, const ScxmlString &_targetType, const ScxmlString &_target, STRINGLIST _namelist, const ScxmlString &_hints) = 0;	};}

There're still some interface functions missing such as the event listener registration functions. Basically, the idea is that you can register a function for specific target types and/or targets. Any event that is created from within the state machine is then forwarded to that registered function if it matches the target type and/or the target.

I also want to replace the event parameter by an event structure since not all of the data is necessary to send an event.

Another thing I'm thinking of is to provide the capability to register your own executables. If you take a look at the SCXML draft, then you'll understand that these executables could be described as little functions that permit to treat data, trigger events or do whatever you would like to. Some examples of executables are: event, send, invoke, onentry, onexit... Even the if, else, elseif stuff are executables.

I also tried to find a decend software that let's me descibe a state machine via UML and offers the possibility to translate it into SCXML. I miserably failed on this task... so if anyone has a link to such an app (be it an eclipse plugin, a stand alone soft, whatever), please hand me the link to it.

Have fun,
Metron

Discussion

Loading comments...