Mittwoch, 16. Juni 2010

First Embedded Project at Eclipse Labs

At the weekend i set up the yakindu project at Eclipse Labs. Initially we planned to provide public access to source code, issue tracker, forums, etc. by hosting the project on Sourceforge. That plan changed when the Eclipse Foundation announced on May 13th that they coorperate with Google on the project hosting platform Eclipse Labs. Since that platform is closer to Eclipse and promises a much better visibility of the Yakindu Tools (and even though it has some drawbacks compared to the functionality of the Sourceforge platform) we decided to switch to that hosting platform.

So when i created the project (and still now) the yakindu project is the only project in the category Embedded. The project already provides access to the source code, the public issue tracker, and a user forum (a google group). Since thee is a qouta for the downloads at Eclipse Labs we still have to decide how to handle the downloads of the Yakindu Eclipse Distributions (they are currently still on Sourceforge).  We also will continue to host our continuous build system on the Hudson server at itemis.

I am very curious how Eclipse Labs will develop since it is still in an early phase. Currently there are 318 projects - that means more than 10 projects a day have been registered per day in average. That is promising.

Axel

PS: Some Links...

Samstag, 12. Juni 2010

Yakindu Statechart Tools 1.1.0

At the beginning of this month we have built the 1.1.0 release of the Yakindu Statechart Tools (SCT). This version is build for Eclipse 3.5 (Galileo). And contains some important improvements like:

  • a new simulation engine that applies the java code generator to make sure that simulation and generated java code behave identical

  • validation for statechart expressions. The textual elements will be parsed and error markers will be set if an expression is invalid.

  • simple editing actions for reordering transition priorities.

  • improved Eclipse-UML integration

  • a lot of more things.


Some of these features are also contained in the probably last release 1.0.0-M04 for Eclipse 3.4 Ganymede. The new release is available from the Yakindu update site: http://updates.yakindu.com/galileo/release or from the Yakindu download site.

Donnerstag, 9. April 2009

YAKINDU Statechart Tools: M02

After about a month of work the M02 version of the statechart tools is online. This version contains some new features that are very valuable like a Java code generator, a UML2 transformation,  and a common expression language for guard and action expressions. Existing parts like the simulation engine, the C code generator, the Eclipse IDE integration and of course the documentation were improved.

The following diagram gives an overview of the top level tool components.



I like the new version very much and think it is very usable. Nevertheless there are still things to do. The next topics we are currently working on is support for test driven development of state charts. So this will include a test DSL (domain specific language) that allows to specify test cases independently of whether you execute the tests by using the state chart interpreter or the generated C or Java code. We will use a textual test DSL that will be implemented using Xtext. Additionally the next version will also contain a source feature that is not published yet.

Everyone who is interested can download the YAKINDU statechart tools from the download page. Please first take a look at the user guide that is also available there.

Dienstag, 10. März 2009

YAKINDU Statechart Tools published

Today we (the itemis Yakindu team) published the first version (M01) of the YAKINDU Statechart Tools.

The Yakindu development tools are a tool kit for model based development and the statechart tools are the first module provided by this project. The tools apply the concept of state machines that are well understood and formal enough to describe behaviour unambiguously. The statechart tools support editing, validating, simulating state machines and generating code from state machines. The tools are provided as Eclipse-plugins and integrate tightly into the IDE.

The simulation of a state machine is integrated with the debug perspective of Eclipse and uses the Yakindu Statechart Diagram Editor to visualize the execution of the state machine by highlighting active state and current transition. Additionally, the user can interact with the simulation by sending triggers to or by changing variable values within the simulator to drive the state machine. The screenshot shows a simulation session in action.



This version includes a C-code generator. Generators for other target languages like Java and PLCs will follow in the next version. This will be published end of march.

The statechart tools are built on Eclipse technologies especially from the Eclipse Modeling Project and openArchitectureWare like EMF, GMF, Xpand, Xtend and Check.  

You can download the plugins as well as the user guide from the  Yakindu website. Of course there is also an Eclipse update site where new versions of the tools will be published. Please take a look at the user guide for details on using the tools. We hope that you like the statechart tools and we highly appreciate any feedback.

Mittwoch, 7. Januar 2009

MacBook Wheel

Typisch Apple - Innovation durch Vereinfachung. Es geht auch ohne Keyboard! Beeindruckend ist auch die 'Predictive Sentence Technology' ;-) .

Mehr Infos gibt's hier:



Apple Introduces Revolutionary New Laptop With No Keyboard

Mittwoch, 10. September 2008

iPhone Mailbox konfigurieren

Die voreingestellte Wartezeit von 15 sec. bis die Mailbox einen Anruf übernimmt fand ich doch etwas zu kurz. Leider musste ich feststellen, dass man diese über die iPhone-Einstellungen nicht komfortabel konfigurieren kann. Ganz Apple untypisch muss man GSM-Codes verwenden. Die Wartezeit konnte ich 'ganz einfach' mit    **61*3311*11*30# auf die gewünschten 30 Sekunden einstellen. Weitere nützliche Codes sind hier zu finden:
  • http://www.gsmcodes-online.de/index.html
  • http://blog.webmart.de/2007/11/20/iphone-visual-voicemail-codes-fur-rufumleitung/

Sonntag, 18. Mai 2008

GRAIL

Nein - es geht nicht um Groovy und Webentwicklung, sondern um ein Stück Software-Engineering-Historie das mich richtig beeindruckt hat.

GRAIL die GRAphical Input Language ist Teil eines Systems welches Ende der 60er Jahre von der RAND-Company entwickelt wurde. Dabei handelt es sich um eine Flowchart-Sprache, mit der die Anwendungssoftware dieses Systems (und auch die System-Software selbst) spezifiziert werden kann bzw. konnte.

Zwei Dinge sind an GRAIL sehr bemerkenswert. Das erste ist das User-Interface des Editors. Dieses ist völlig frei von Modi (wohl das erste System dieser Art) und die Eingabe erfolgt per Stift und Grafiktablett. Das System verfügt über eine Echtzeiterkennung der gezeichneten graphischen Syntaxelemente und Schriftzeichen sowie von Gesten, die Aktionen wie dem Löschen von Elementen auslösen.




Wie in diesem Beispiel wird die Stiftbewegung des Benutzers verfolgt, dargestellt, erkannt und dann...



... durch das pasende Computer-gezeichnete Element - hier eine Prozessinstanz - ersetzt. Die Texteingabe erfolgt analog.

Die Bilder sind Screenshots aus dem Video einer Demo (s.u.) und es ist wirklich sehr beeindruckend den Editor in Aktion zu sehen. Die Mensch-Maschine-Interaktion erscheint unheimlich intuitiv und ist sehr viel direkter als es selbst bei den heutigen graphischen Editoren der Fall ist - und das bei einem System aus dem Jahr 1968!

Dabei ist zu bedenken, dass es sich um kein Malwerkzeug handelt, sondern der Erstellung von Software dient. In der Dokumentation zu GRAIL ist zu lesen:

The System permits construction, editing, interpretive execution, compilation, debugging, documentation, and execution of computer programs specified by flowcharts.

Tja - der zweite bemerkenswerte Punkt ist, dass man heutzutage diesen Ansatz als modellgetriebene Software-Entwicklung bezeichnen würde, auch wenn Flowcharts jetzt nach 40 Jahre vielleicht etwas aus der Mode gekommen sind ;-).

Das Video ist Teil einer Aufzeichnung einer Präsentation von Alan Kay aus dem Jahr 1987 in dem er einige Juwelen aus den 60er und frühen 70er Jahren zu dem Thema User-Interface-Design vorstellt. Beispiele sind das Grafik-System Sketch-Pad aus dem Jahr 1962, eine System-Präsentation von Douglas Engalbart - dem Erfinder der Maus, GRAIL (beginnt bei ca. 23:30) und Smalltalk-72 mit einigen Beispielen, die in den 70ern von Kindern entwickelt wurden, wie einem Zeichenwerkzeug für elektonische Schaltkeise. Dieses Video ist mit über 45 Minuten zwar recht lang aber auch unbedingt sehenswert.