tag:blogger.com,1999:blog-62789619962960341362024-03-05T01:35:21.051-08:00Visual LanguagesSteffen Mazanekhttp://www.blogger.com/profile/09731971758303543668noreply@blogger.comBlogger40125tag:blogger.com,1999:blog-6278961996296034136.post-87898795809134890932009-07-24T15:40:00.000-07:002009-07-24T16:19:33.450-07:00MPS releasedJetBrains just released version 1.0 of its Meta Programming System. The screencasts provided by Markus Völter are very nice. They show how the Java base language can be extended by a lock abstraction, which is translated to some best practice lock code by the generator component afterwards. This seems to be a good example of growing a language as motivated by Guy L. Steele Jr. I wonder whether Steffen Mazanekhttp://www.blogger.com/profile/09731971758303543668noreply@blogger.com0tag:blogger.com,1999:blog-6278961996296034136.post-29977730892262258252009-07-18T08:19:00.000-07:002009-07-18T08:45:52.388-07:00Alligator Eggs (for the last time)Now I have also constructed an editor for alligator eggs. This editor is different from Torsten's editor with the nice animation discussed some days ago. My editor provides syntax-based user assistance instead, i.e. the user gets help in creating syntactically correct alligator eggs expressions. Whereas Torsten's editor has been created with DiaMeta (syntax defined by a class diagram), my Steffen Mazanekhttp://www.blogger.com/profile/09731971758303543668noreply@blogger.com0tag:blogger.com,1999:blog-6278961996296034136.post-55402560555783963202009-07-15T12:10:00.000-07:002009-07-15T12:44:16.093-07:00Alligator Eggs revisited (again)The video about the animated editor for Alligator Eggs has raised some questions on where the editor is available for download. Therefore, Torsten has provided an executable jar. Feel free to try it out yourself!Actually, the success of this video on youtube (more than 3.000 views already) really motivates me to implement syntax-based assistance for the language of alligator eggs. The language isSteffen Mazanekhttp://www.blogger.com/profile/09731971758303543668noreply@blogger.com0tag:blogger.com,1999:blog-6278961996296034136.post-61996106245520554332009-07-15T11:38:00.000-07:002009-07-15T12:06:09.676-07:00Business Process ModelsIn the last weeks I have developed an editor for business process models with syntax-based user assistance as described in previous blog posts. A screencast of this editor is shown below:The editor is provided for download as an executable jar.Concepts and realization are described in S. Mazanek, M. Minas. Business Process Models as a Showcase for Syntax-based Assistance in Diagram Editors. Steffen Mazanekhttp://www.blogger.com/profile/09731971758303543668noreply@blogger.com1tag:blogger.com,1999:blog-6278961996296034136.post-67673512075390359942009-07-08T07:07:00.000-07:002009-07-08T07:16:41.591-07:00Alligator Eggs revisitedAt the moment I spend a lot of time on polishing my PhD thesis. Therefore, not so many new posts appear on this blog in these days. However, today I would like to follow up on my last post, which was about the visual language of alligator eggs. A colleague of mine, Torsten Strobl, has created a very nice editor for alligator eggs expressions. It even animates the evaluation of such expressions, Steffen Mazanekhttp://www.blogger.com/profile/09731971758303543668noreply@blogger.com9tag:blogger.com,1999:blog-6278961996296034136.post-32580724469309734342008-12-10T04:39:00.001-08:002008-12-10T04:58:44.822-08:00Alligator Eggs!Some time ago I had already written about a nice visualization of lambda calculus called VEX (visual expressions). In VEX the variable bindings are made explicit by using connecting lines. In contrast, in conventional lambda calculus bindings are implicitly given by the names of the variables. From my experience this is difficult to understand for students, in particular if alpha conversion comesSteffen Mazanekhttp://www.blogger.com/profile/09731971758303543668noreply@blogger.com0tag:blogger.com,1999:blog-6278961996296034136.post-76094595515547198002008-11-18T03:33:00.000-08:002008-11-18T06:37:04.054-08:00Graph Transformation Day BremenDirectly after the World Usability Day in Dresden I attended the Graph Transformation Day in Bremen. Here, I gave a talk about the generation of correctness-preserving editing operations for diagram editors. More on this later...The other talks have been given by my supervisor Prof. Mark Minas (about using triple graph grammars for analysis in diagram editors), Dr. Rubino Geiß, the architect of Steffen Mazanekhttp://www.blogger.com/profile/09731971758303543668noreply@blogger.com0tag:blogger.com,1999:blog-6278961996296034136.post-51648774878370677852008-11-18T00:51:00.001-08:002008-11-18T01:23:56.435-08:00World Usability Day DresdenLast Thursday I gave a talk at the World Usability Day Dresden with the title "Nutzerunterstützung in Diagramm-Editoren zum Erlernen visueller Sprachen" (in English: User assistance for diagram editors supports the learning of visual languages). I provide an abstract of my talk (in German) on my website. I got quite encouraging feedback and some nice tips on how to actually conduct a user Steffen Mazanekhttp://www.blogger.com/profile/09731971758303543668noreply@blogger.com1tag:blogger.com,1999:blog-6278961996296034136.post-31741113760973119442008-09-25T10:30:00.000-07:002008-09-25T10:56:48.634-07:00Roughly sketch your diagramsIn recent posts I have already demonstrated the power of diagram completion.In the paper I have presented at this year's LED workshop, I have shown how diagram completion can be used in order to facilitate a completely novel(?) approach to diagram editing. It is enough to just roughly sketch your diagram. You do not need to hit the mark quite precisely anymore as required in traditional diagram Steffen Mazanekhttp://www.blogger.com/profile/09731971758303543668noreply@blogger.com0tag:blogger.com,1999:blog-6278961996296034136.post-79584378304493384142008-09-16T07:56:00.000-07:002008-09-16T08:25:08.686-07:00Visual Week up and runningThe Visual Week in Herrsching, Germany is already up and running. Yesterday the Workshops Layout of (Software) Engineering Diagrams and Sketch tools for diagramming took place. I attended LED where I gave a talk with the title "Exploiting the Layout Engine to Assess Diagram Completions" (paper and slides). But I also really enjoyed the other talks that covered a wide range of topics from industrySteffen Mazanekhttp://www.blogger.com/profile/09731971758303543668noreply@blogger.com0tag:blogger.com,1999:blog-6278961996296034136.post-11656639285900256122008-07-19T07:24:00.000-07:002008-07-20T03:58:57.528-07:00UsabilityIn this post I briefly discuss usability. First of all, I have to say that there is so much research that it is nearly impossible to write a short blog post about this topic. For instance, Jakob Nielsen, a popular usability expert, writes about usability for years. So I will just give you a quick impression by introducing the GOMS approach, which I found very straightforward and easy to apply. I Steffen Mazanekhttp://www.blogger.com/profile/09731971758303543668noreply@blogger.com0tag:blogger.com,1999:blog-6278961996296034136.post-24551351337687243542008-07-18T03:50:00.000-07:002008-07-18T04:27:54.751-07:00RTA 2008I am just back from the RTA 2008 (Rewriting Techniques and Applications) conference in Linz. My talk has been on Wednesday and was about Functional-logic Graph Parser Combinators. I already have written on this blog about graph parser combinators, but this purely functional approach had several problems we solved using functional-logic programming techniques. In particular, the new framework can Steffen Mazanekhttp://www.blogger.com/profile/09731971758303543668noreply@blogger.com0tag:blogger.com,1999:blog-6278961996296034136.post-7940280972576365162008-07-14T08:35:00.000-07:002008-07-21T06:50:45.107-07:00Logic gatesIn previous posts I already have discussed several visual languages like VEX, Trees or ER diagrams. These languages have in common that all of them are used by computer scientists. Of course, visual languages also exist in other domains (in fact, visual notations are much older than computers). In this post I show an editor for a language mainly used by electrical engineers: Logic gates. This is Steffen Mazanekhttp://www.blogger.com/profile/09731971758303543668noreply@blogger.com0tag:blogger.com,1999:blog-6278961996296034136.post-41938994164502183472008-07-12T01:03:00.000-07:002008-07-12T01:56:14.757-07:00Course on Visual LanguagesI already have written several posts about our previous course on graph and model transformation conducted in autumn last year and the practical afterwards. Next autumn we will hold another course, this time directly on visual languages. We will discuss approaches to language definition like extended positional grammars, constraint multiset grammars, hyperedge replacement grammars, and, of courseSteffen Mazanekhttp://www.blogger.com/profile/09731971758303543668noreply@blogger.com0tag:blogger.com,1999:blog-6278961996296034136.post-84574765870289018582008-07-07T23:46:00.000-07:002008-07-08T04:29:30.979-07:00TreesTrees are a central data structure in computer science. A lot of visual languages have a tree-like structure, for instance class hierarchies with single inheritance, family trees or organizational charts. In contrast to the language of all graphs the sublanguage of trees can be described in a context-free way with a hyperedge replacement grammar:However, this straightforward definition is Steffen Mazanekhttp://www.blogger.com/profile/09731971758303543668noreply@blogger.com0tag:blogger.com,1999:blog-6278961996296034136.post-65994472439133479472008-07-05T05:18:00.000-07:002008-07-08T00:24:09.247-07:00Constraint Logic Programming and Diagram CompletionI got stimulating feedback after my last post on diagram completion. For instance, I was not aware of the SmartEMF project of Anders Hessellund et al. They aim at extending EMF with an inference engine to facilitate reasoning about models. Interestingly, they also get some guidance that way. A similar approach has been realized in the AToM3 tool by Sagar Sen et al. They also employ constraint Steffen Mazanekhttp://www.blogger.com/profile/09731971758303543668noreply@blogger.com0tag:blogger.com,1999:blog-6278961996296034136.post-81347373274661920072008-07-01T07:30:00.000-07:002008-07-08T00:23:24.972-07:00Diagram CompletionRecently I have been working on an approach to diagram completion. This kind of assistance helps users in correcting and extending diagrams. That way they can learn new languages much more easily. Furthermore, the construction of complex diagrams is also greatly simplified.Following my approach, completions are computed on the abstract syntax level with respect to a hyperedge replacement grammar.Steffen Mazanekhttp://www.blogger.com/profile/09731971758303543668noreply@blogger.com0tag:blogger.com,1999:blog-6278961996296034136.post-48954942085826692682008-04-27T22:01:00.000-07:002008-04-27T23:44:15.382-07:00Sierpinski TrianglesI have already introduced my approach to graph parsing via Graph Parser Combinators on this blog recently. This time I provide a nice sample parser; at RTA I will present the concepts and how the used framework can actually be realized in the functional-logic programming language Curry.The example I am going to discuss are Sierpinski triangles. This graph language is particularly interesting for Steffen Mazanekhttp://www.blogger.com/profile/09731971758303543668noreply@blogger.com0tag:blogger.com,1999:blog-6278961996296034136.post-87230166496291108292008-04-22T02:57:00.000-07:002008-04-22T07:10:14.106-07:00Fujaba and Story Driven ModelingLet's continue talk about our practical on graph and model transformation. In fact, it is already finished, but unfortunately I did not managed to write about the other stages in time. Remember, that in the first stage a UML class diagram editor had to be developed by the student teams using different meta-CASE-tools. The second stage, in contrast, was focused on transformations. The students hadSteffen Mazanekhttp://www.blogger.com/profile/09731971758303543668noreply@blogger.com0tag:blogger.com,1999:blog-6278961996296034136.post-20126056967836645672008-04-03T10:05:00.000-07:002008-04-03T11:23:28.184-07:00GT-VMT, MetaEdit+I am back from Budapest where I have attended the GTVMT workshop and ETAPS. The feedback to my talk about graph parser combinators was positive and I even have been pointed to very useful and interesting references later. I will provide a more detailed post about my stay in Budapest soon.Let me just point you to an up to date news from the DSL tool market. I have already written about the Steffen Mazanekhttp://www.blogger.com/profile/09731971758303543668noreply@blogger.com1tag:blogger.com,1999:blog-6278961996296034136.post-45668304816576255962008-03-06T02:21:00.000-08:002008-03-06T02:30:03.547-08:00Visual Week and VL/HCC 2008From September 15th, 2008 on the Visual Week will take place in Germany near Munich. Our department is organizing this event headed by Prof. Dr.-Ing. Mark Minas. One of the main conferences is the VL/HCC 2008, the 2008 IEEE Symposium on Visual Languages and Human-Centric Computing. Paper submissions here are due to March 11th, i.e., next Tuesday. I hope to see you in Herrsching.Steffen Mazanekhttp://www.blogger.com/profile/09731971758303543668noreply@blogger.com0tag:blogger.com,1999:blog-6278961996296034136.post-70564061752451011302008-02-22T08:11:00.000-08:002008-02-22T08:39:45.382-08:00Bidirectional synchronizationThe effort of blogging already seems to pay off as I start to get mails with interesting references to related work. Yesterday Miguel Garcia pointed me to his workshop paper Bidirectional Synchronization of Multiple Views of Software Models. What I liked about the paper is its discussion of related work and the references that give a very comprehensive overview of the state of the art in this Steffen Mazanekhttp://www.blogger.com/profile/09731971758303543668noreply@blogger.com1tag:blogger.com,1999:blog-6278961996296034136.post-21890095549591506922008-02-21T11:19:00.000-08:002008-02-21T12:02:18.222-08:00Practical - end of first stageThe first stage of our practical on graph and model transformation is already finished. The students have produced nice class diagram editors with all three meta-CASE-tools. As expected, all tools have particular strengths and weaknesses. GMF:Strong points: open source, integration with popular eclipse platform and EMF, wizards, tutorialsWeak points: difficult to realize nested packages, internalSteffen Mazanekhttp://www.blogger.com/profile/09731971758303543668noreply@blogger.com2tag:blogger.com,1999:blog-6278961996296034136.post-66837763785621641492008-02-12T06:10:00.000-08:002008-02-23T13:29:53.980-08:00VlDeskLet me today write about a tool I have tried recently: VlDesk. Compared to other research tools VlDesk outstands with a comprehensive website (including demos) and smooth installation procedure. The underlying formalism, eXtended Positional Grammars (XPG), is well-studied (see further reading) and allows for efficient parsing. In fact, the parser is generated using the well-known Yacc parser Steffen Mazanekhttp://www.blogger.com/profile/09731971758303543668noreply@blogger.com0tag:blogger.com,1999:blog-6278961996296034136.post-50688371791983593412008-01-30T12:32:00.000-08:002008-01-30T13:12:06.011-08:00Graph Parser CombinatorsThis post is about a topic I am particularly interested in, namely Graph Parser Combinators. Among functional programmers parser combinators are very popular. They are fun to play with and a lot of research has been done to make them more practically relevant (mainly by improving efficiency). There is an abundance of different libraries, e.g., the HUT Parser Combinators, Parsec or polyparse.SinceSteffen Mazanekhttp://www.blogger.com/profile/09731971758303543668noreply@blogger.com0