Showing posts with label tool. Show all posts
Showing posts with label tool. Show all posts

DSL editor with code completion in Javascript

Domain Specific Languages currently have its hype. Important feature of serious new language implementation is a tool support – editor with code completion. There is already significant set of tools that allow to build a complete language solution. Most of them were presented recently on Language Workbench Competition 2011.

I was searching something similar implemented in Javascript and I found Concrete Editor. It represents structured approach to language editing. New entities are created with a set of attribute placeholders. It perfectly fits to languages describing elements and relations between them. For expression language it is far much easier to edit in a free text manner. To give an example I've implemented simple free text editor for Concrete metamodel.

Distribution of generated model implementation

In one of my posts I described how to transform StarUML classes structure into XML Schema implementation. I happy to announce that this approach (slightly modified) is used in the biggest bank in Poland. Main cause of replacing original version of transformation was its performance. XSLT 2.0 based implementation generator (using Saxon) is up to 50 times faster than native JavaScript.

Java aware sources comparison

Few months ago I was searching a tool that would compare two versions of Java source with respect to its OO structure. I expected that report would give me an info not only with number of changed lines in a file but rather number of changed methods and number of lines in them. I found nothing that can fulfill this task.

Simple calendar

Calendar functionality is a must in applications where working or non-working days have a special meaning. Fixed holidays (solar cycle) and weekends can be determined without any effort. In European tradition there are also floating holidays dependant on Easter – derived from lunar cycle. Determining these is non-trivial but already solved problem described as Computus.

Currently most of programming languages are equipped with utilities (math and date) that make implementation simple. It allows to build an algorithm of everlasting calendar in any system. Why I'm diving into so trivial problem? Because I consider embedding of such algorithm as evil.

StarUML model validation using Schematron

Main benefits of Continuous Integration practice are improved quality and team communication. The former is achieved by automated compilation with testing and the latter by publishing the results. Nowadays successful building any bigger system is not possible without both.

In one of my recent posts I presented how to transform StarUML model to XML Schema outside the tool. Implementation dependant model generation corresponds to compilation. Testing can be implemented as validation. In this case literal and structural analysis of UML file is fairly simple owing to its XML format.

Manipulating XML files using Apache Ant

Recently I needed to work out large number of XML documents. I was positively surprised how much one can do using old good Apache Ant. In this post I present libraries that add a powerful XML support in it.

Exporting model structure from StarUML to XML Schema

StarUML is one of the best free UML modeling tools. It has an inbuilt generator that makes it possible to create documentation or implementation (supports few output formats - like as Microsoft Word, Excel, PowerPoint and Text-based). The main disadvantage is that it is impossible to validate or transform the model non-interactively. Detaching a tool from human interaction is crucial when you would like to establish an automated process like Continuous Integration. Because there is no other possibility I decided to transform StarUML native file format directly.