Wednesday 17 October 2012

Entering the final turn

Slowly approaching the end of SoCiS 2012, the final touches need to be done to the designer. In the remaining time, I will check for inconsistencies and issues within the developed odesign. A final check to see if the required tools for the mapped nodes are implemented. Of course, all the newly created elements should be accepted by Xtext and the example I worked on, Cruise Control, should be easily understandable.

With the checks and fixes done in this direction so far, it looks fine - tools are implemented and working, Xtext accepts all the newly created elements (and they are created at the right position in the private or public section for example) and after rearranging the representation, you get a better overview of the system.

Now, I start a new learning phase while preparing the update-site for the 1.0 release of the modeler. Tools like Tycho, maven and Hudson will be taken under the loop for the next days to get everything working.

Friday 12 October 2012

One more week past

The focus for this week was to continue developing the odesign file. With the existing 3 Diagrams: Package, Declaration and Implementation Diagram, the last one is the one I have worked most on this week. I added creation tools for the System, Thread and Process implementation. This was a major progress in understanding the aadl2 model, as it required more than one property to be set during the element creation. More it is also a "cool" tool containing a selection wizard to display all the available systems/threads/processes for which an implementation can be created. This feature was personally an interesting achievement as the java service, required to return the correct elements to populate the wizard, worked almost out-of-the box (of course, there followed some re-factoring to accommodate the method for all the types, but it did the job good straight on).

I have added creation tools for all the components that can be created inside the System/Thread/Process implementation. It was not very difficult to develop this tools once an example was ready, but it quite took some time.... Element edition tools for label renaming and element deletion are also available.

Some work was done also for the PackageDiagram: I noticed the possibility to navigate from a package to one of the other available diagrams. I have added two new options to be able to create a Description or an Implementation Diagram for the existing package. Now in this Diagram the Public and the Private sections are viewed as separate elements.

Finally, the Declaration Diagram got some improvements for the DataPort available inside a system: The general Data Port (already available) was split into three nodes: Input, Output and InputOutput nodes. The initial creation tools where replaced by more complex ones with a selection wizard (thanks to the experience with the implementation creation tools) and looks quite nice. Still need to place the input/output ports at the correct place because they now can be mixed up.

All in all, it was a week with some difficult moments, like the one when I got stuck in getting an element property - thanks Melanie for the help :) - but the design file is getting more and more complex with some nice features :)

Tuesday 9 October 2012

Work in progress

For some time now, the focus of the work is building up the design file. More and more elements can be observed and drawn in one of the three available diagrams: Package Diagram, Declaration Diagram and Implementation Diagram.

Having started with a very simple, basic example, now the working example is the Cruise Control code found here. The trace of the project, what and when was developed, can be observed in the git repo.

Now, going again to continue building the AADL design file...

Declaration Diagram view for the Cruise Control example