Archives pour: Décembre 2006
29.12.06
Martin Fowler's Refactorings catalog
For the record though I don't really agree with some of the refactorings listed here ![]()
25.12.06
Eclipse 3.2 Headless RCP Application Wizard
The New Plug-in Project creation wizard (File > New > Project...> Plug-in Project) now supports a workflow to create headless RCP applications, complete with a Hello World template.
Headless Hello World in Eclipse
Explains how to create a eclipse based standalone application.
Don't know how it relates to an OSGi equinox standalone application though ...
Eclipse plugin-ins versionning guidelines
Covers most of the problems involved with releasing inter dependant parts of a product.
24.12.06
MODELWARE
MODELWARE is a project sponsored by the EU's sixth framework programme in Information Society Technologies.
MODELWARE has three major objectives:
- Develop a solution to enable a significant increase of software systems development productivity thanks to Model Driven Development (MDD)
- Lead its industrialization
- Ensure its successful adaptation by the industry
Starting date for MODELWARE is the 1st October 2004. The duration is at least 2 years, possibly 4 years.
OCL4Java
This framework allows to design by contract using OCL based constraint JDK5 annotations.
Code:
| @Constraint("context TestClassPerson::setAge(anAge:Integer) inv: age < 120") | |
| public void setAge(int anAge) { | |
| age = anAge; | |
| } |
What to do with these annotations at runtime is configurable.
ATL QVT
ATL aka Atlas Transformation Language is a Model to Model transformation language and framework. It is meant to work directly on models that conform to meta models. Such meta models can be XML, UML, Java, Hibernate, Spring beans, etc ...
The nice thing is that the project also hosts a miriad of ready to use meta models in their zoo. At the time of this writing this zoo contains 73 meta models !
Instead of transforming a PIM UML model directly to a PSM (which is what I've been doing with AndroMDA 3.x for the last two years) and putting everything in a single monolythic code generation cartridge, ATL enables to introduce dedicated intermediate domain specific meta models.
The ATL project aims at providing a set of transformation tools for GMT. These include some sample ATL transformations, an ATL transformation engine, and an IDE for ATL (ADT: ATL Development Tools).
ATL is just amazing, it pushes MDA to a whole new level of moduralization.
What's more, my favorite MDA code generation tool, in its next major milestone (4) will be based entirely on ATL ![]()
Martin Fowler's FluentInterface
Martin Fowlers explains how to write an easy to use "fluent" DSL like Java API without the burden of defining a real full featured DSL.
Creating a textual DSL with xText article: The Pragmatic Code Generator Programmer
openArchitectureWare
openArchitectureWare (oAW) is a modular MDA/MDD generator framework implemented in Java(TM). It supports parsing of arbitrary models, and a language family to check and transform models as well as generate code based on them. Supporting editors are based on the Eclipse platform.
OAW has strong support for EMF (Eclipse Modelling Framework) based models but can work with other models, too (e.g. UML2, XML or simple JavaBeans) At the core there is a workflow engine allowing the definition of generator/transformation workflows.
Full echosystem, there seems to be everything you need to do MDD.
Some design choices are awkward though. Indeed, Model to Model transformations are not based on ATL whereas the project is part of the Eclipse GMT Project which hosts ATL ... oAW uses its own framework for that: Xtend. This seems like a general habit on this project, the validation language also is specialized: Check (instead of OCL)
On the contrary, AndroMDA 4 will be based on ATL
oAW headless build tool integration is limited, oAW is very tailored to Eclipse. A Maven 2 Plugin is in development though.
15.12.06
Le mythe du StringBuffer
Oscar Shell Service
Offers a text based and graphical based UI.
13.12.06
OSGi Alliance Members Webinar 12 December 2006
Nice OSGi presentations and demos ![]()
12.12.06
The most complete list of -XX options for Java 6 JVM
This is huge ...
11.12.06
Retrotranslator
Retrotranslator is a Java bytecode transformer that translates Java classes compiled with JDK 5.0 into classes that can be run on JVM 1.4. It is a free, open-source tool based on the ASM bytecode manipulation framework and concurrency utilities backported to Java 1.4.
08.12.06
07.12.06
JUNG - Java Universal Network/Graph Framework
JUNG — the Java Universal Network/Graph Framework--is a software library that provides a common and extendible language for the modeling, analysis, and visualization of data that can be represented as a graph or network. It is written in Java, which allows JUNG-based applications to make use of the extensive built-in capabilities of the Java API, as well as those of other existing third-party Java libraries.
Djinn - Java bytecode analysis
Djinn reads java bytecode, stores the class model in a relational database, and performs a static analysis on it. Using this code database, Djinn can produces various dependency graphs of arbitrary granularity (between jars, classes, packages, etc.) and provides several useful investigation services.
JGraphT Java graph library
Algorithms are also available:JGraphT is a free Java graph library that provides mathematical graph-theory objects and algorithms. JGraphT supports various types of graphs including:
- directed and undirected graphs.
- graphs with weighted / unweighted / labeled or any user-defined edges.
- various edge multiplicity options, including: simple-graphs, multigraphs, pseudographs.
- unmodifiable graphs - allow modules to provide "read-only" access to internal graphs.
- listenable graphs - allow external listeners to track modification events.
- subgraphs graphs that are auto-updating subgraph views on other graphs.
- all compositions of above graphs.
- BellmanFordShortestPath
- BronKerboschCliqueFinder
- ConnectivityInspector
- CycleDetector
- DijkstraShortestPath
- DirectedNeighborIndex
- NeighborIndex
- StrongConnectivityInspector
- VertexCovers
06.12.06
Terracotta DSO: Open Sourced
Great news, HEAP level, non-api oriented clustering is master piece, simply amazing.
Eclipse GMF
The Eclipse Graphical Modeling Framework (GMF) provides a generative component and runtime infrastructure for developing graphical editors based on EMF and GEF. The project aims to provide these components, in addition to exemplary tools for select domain models which illustrate its capabilities.
05.12.06
Sorcerer Java source code cross reference generator
Kohsuke Kawaguchi did it again, it created a new java cross reference generator that generates amazingly good looking HTML reports.
The cross reference navigation feature is also very rich.
The only drawback is that it requires a JDK6.
04.12.06
Workflow Patterns dot com
This site serves as a repository for workflow modeling patterns. These patterns can be used to examine the expressive power of a workflow server that you intend to work with or they can serve as a set of ideas how to implement given business requirements having some workflow server already deployed in your organization.
with syntax highlighting and validation ... nothing less, amazing
. In order to accomplish that, it leverages