I've downloaded EMF, and I'm trying to figure out how it can help either my final project or my work in general (at work I also use Eclipse). I like the fact that it can generate a model from Java source code, but I wish it could also generate a Rational Rose model.
Can it do that?
________________________
Tag: Software
Saturday, February 26, 2005
Monday, February 21, 2005
My Final Project
Today I had a presentation-exam about my project. I talked about my progress and my future work. It went pretty good, but I didn't get a grade yet. It is expected in a week or so.
To summarize:
My project is about code generation from UML statecharts. Using Java and XSLT, I take the XMI that represents the statecharts, and generate a QHSM state machine in Java/C.
Confused? Sorry. I'll try to explain:
For implementing both Java and C code generation, I use something like Martin Fowler's Two Step View pattern (I was actually told that there exists such a pattern right after I suggested my approach, which I though to be original) - first, I create an XML pseudo-code state machine. Then I take this XML and turn it to either a Java or a C state machine.
It was fun, and I learn a lot, especially on XSLT and XML. I have more things to do for this project. Among them:
To summarize:
My project is about code generation from UML statecharts. Using Java and XSLT, I take the XMI that represents the statecharts, and generate a QHSM state machine in Java/C.
Confused? Sorry. I'll try to explain:
- Statecharts are a graphical representation of complex systems. They are based on finite state automata, but extend (and complicate) them greatly.
- UML is the Unified Modeling Language. It is a graphical language that allows software developers to describe their software designs in a visual way. Statecharts are a part of UML. There's a FAQ about UML here.
- XSLT is a language for transforming XML into other text, including other XML. Here's a tutorial.
- XMI (the XML Metadata Interchange) is a representation of UML data (and some other metadata) in XML format.
- QHSM is "Quantum Hierarchical State Machine", which is Miro Samek's implementation of a state machine (a state machine is an executable statechart). It is described in his book.
For implementing both Java and C code generation, I use something like Martin Fowler's Two Step View pattern (I was actually told that there exists such a pattern right after I suggested my approach, which I though to be original) - first, I create an XML pseudo-code state machine. Then I take this XML and turn it to either a Java or a C state machine.
It was fun, and I learn a lot, especially on XSLT and XML. I have more things to do for this project. Among them:
- Implement the C code generator - at the moment I only have a Java code generator, because that's the main priority of the company for which I develop the software.
- Build some king of testing tool, that can take events from a script file and fire them at a running machine.
Sunday, February 06, 2005
This Blog is Still Alive!
I have not abandoned this blog. I'm still here. It's just that I'm very busy - work, exams, and the project are killing me. I'll be back.
Subscribe to:
Posts (Atom)