See AtomWeaver in action at LWC 2012, Code Generation Conference

January 19, 2012 in Uncategorized

ABSE and AtomWeaver will be participating in the Language Workbench Challenge (LWC2012), held in conjunction with the Code Generation Conference, in Cambridge (see the event page here) in the last week of March. Registration for the LWC 2012 runs through the Code Generation web site. There are still some tickets available.

This year’s assignment is harder than last year’s which was more a presentation of tool capabilities for a generic set of problems. In this edition of the LWC, participant workbenches will have to apply MDSD in a non-software domain: Piping & Instrumentation.

Each participant will have to develop a DSL and generator that allows a domain expert to describe the central heating system as a Piping & Instrumentation system, describing the required functionality with behavior and constraints. The workbench should generate as much as possible of the control software and, if possible, generate a simulation of the central heating system. Quite a challenge! Still, the focus is on capabilities of tooling and not on the domain itself.

If you are into embedded development, or just want to see a live comparison of several DSL/MDD tools, including AtomWeaver, attend the LWC event, on March 27!

This community has a new look!

January 10, 2012 in Uncategorized

We have finally migrated from TikiWikiCMS and left its constant woes behind. We now have WordPress, bbPress and BuddyPress running under the hood!

We hope that the new upgrade will bring a new, more modern experience to all our ABSE and AtomWeaver fans. Register yourself, join the community, and enjoy!

AtomWeaver 1.2.2 has been released

June 14, 2011 in Uncategorized

We have the pleasure to announce that version 1.2.2 of the AtomWeaver IDE has just been released.

The most important new feature is the possibility to create new kinds of Auto-Generated Atom Instances: You can now create Auto-Generated Instances that can be edited, moved, and be independent of its creator Template. In addition, you can create regular Instances under Auto-Generated Instances.

Other additions to this new release are:

  • Auto-Generated Instance Masters can now link to other Auto-Generated Atoms under the same Template.
  • Removed parameters from a Template now put the corresponding Instance variables in an orphan state so that their values are preserved for later reuse.
  • New visual aids in Atom Instance labels help you understand special Atom behaviors: For instance, the “<>” symbol denotes a relocated Atom, “[]” denotes a blocked Atom, and “>n<” shows how many Atoms are referencing it.

Also, some bugs were ironed out.

You can download this new version at the usual location.

AtomWeaver 1.2 has been released

March 26, 2011 in Uncategorized

After more than two months after the last release, a new, more extensive release comes around. More than 30 changes were included in this release, between corrections and enhancements.

Noteworthy enhancements are:

  • On the Log module, messages have been visually enhanced for better understanding. In addition, you can now jump to the Atom Template or Instance that originated the error by means of a pop-up menu.
  • General usability has been enhanced by adding creation commands directly on pop-up menus, including keyboard shortcuts for most common operations.
  • On the Files module you now have the possibility to jump to the Atom Instance that generated a particular source line. Full traceability is now becoming a reality!

Download at the usual place, and enjoy the new release!

AtomWeaver 1.1.2 has been released

January 11, 2011 in Uncategorized

Last week we released a new AtomWeaver version. This minor release revolved around the Log module: Logs can be saved, and log entries can be copied to the clipboard for easier bug reporting :) .

Also, a new log has been created: The Interpreter log. AtomWeaver has two Lua engines: One to maintain a live ABSE model on your workspace, and another to generate code. This new log will separate messages issued by these two Lua engines and facilitate their understanding.

Additionally, the new Global Variables dialog lets you see what global variables have been set on the currently selected model tree.

You can download this version at the AtomWeaver site, http://www.atomweaver.com/download

AtomWeaver Version 1.1.1 Released

December 16, 2010 in Uncategorized

We are pleased to announce that AtomWeaver version 1.1.1 has been released. With this new version we complete the implementation of the ABSE v1.0 specification.

The last bits from the spec to be implemented were the two special forms of file sections: unique and common. Unique-type sections have the distinct behavior of only accepting lines that are different from those already on the section. If you try to add a line that is a duplicate of another, it will be silently ignored; Common-type sections have the distinct behavior of sharing its contents with other common-type sections on the same file. If you add a line to this section, it will be replicated to all common-type sections in that file.

The ABSE specification itself has changed a bit to accomodate the inclusion of a Vendor ID on an Atom Library: With the Vendor ID, libraries with similar prefixes, but from different sources, can be distinguished.

Apart from other small-scale usability enhancements, an Icon Manager was added. This manager (presently it’s more like just a viewer) will help you see what icons are available to be used on your Atoms.

You can download the latest version at the usual place: http://www.atomweaver.com/download

AtomWeaver Version 1.0 Released!

September 12, 2010 in Uncategorized

September 13 marks the start of a new era in software engineering: ABSE and its IDE, AtomWeaver, are now official!

Like any typical 1.0 version, there’s a lot to be done so expect a fast release cycle in the coming months.

From now on you can purchase an AtomWeaver license on the IDE’s site. The Early Adopter Campaign is now running, meaning that you can take this opportunity to support ABSE and AtomWeaver’s early growth and at the same time benefit from a 33% discount over the regular price. You’ll also get two years of free upgrades and have added weight on your requests for new features.

Anyway, AtomWeaver also runs in free mode: You can use AtomWeaver for your personal and commercial projects for free, forever. The free mode does not have access to the more advanced IDE features, but the full ABSE specification is supported. So, start using for free and upgrade whenever you feel you need more.

Similarities between ABSE and Intentional Programming

September 11, 2010 in Uncategorized

In his personal blog, Jilles Van Gurp has made a very good summary of Intentional Programming (some formatting added):

Some late nineties papers by Charles Simonyi on Intentional Programming (IP) and persistent rumors about him actually being very close to launching related products was about taking the whole Smalltalk/Visual Age thing to the next level.

It’s too early to call this a failed experiment because Simonyi never really delivered the goods. His company (Intentional Software) is still hyping intentional programming but has yet to ship a product. Seriously, this has been in the making longer than Duke Nukem Forever.

In a nutshell Simonyi’s very brilliant idea is that creating software is about coming up with abstractions that are represented in the form of abstract syntax trees that can be translated into other, more general abstractions in multiple iterations until you end up with a syntax tree that can simply be serialized to executable code. His core idea was to treat the transformations and not the abstractions as the first class entities.

In a intentional programming world you start with really simple abstractions that you can translate into executable code and you build increasingly more complex and specialized abstractions that can be used for specialist or domain specific things. The traditional notion of compiling is very similar except it is a bit limited in the number of transformations and the abstractness of the abstractions involved. Basically most languages go to roughly 2 or 3 transformations: source code to abstract syntax tree to assembly to executable bits and bytes. There are lots of variations here but it is essentially a pipe line.

(Read his whole post here)

This made me realize how close ABSE is to Intentional Programming. The bold text above shows what is similar to ABSE. I can conclude that the core idea behind IP and the way its concepts are materialized, are very close to ABSE’s own concepts.

Some differences remain though. For instance, AtomWeaver is not a projectional editor although we could still draw some parallels between them, because each ABSE abstraction has its own specific editor. I don’t know IP enough but checking an old paper on Generative Programming by Krzysztof Czarnecki (page 151) shows that that are more differences on the details.

Perhaps the biggest difference between ABSE and Intentional Programming is that ABSE version 1.0 is now shipping!

ABSE “One Fact A Day” series reposted

May 24, 2010 in Uncategorized

Originally started on Twitter, and essentially because this community has just moved from Ning, the ABSE’s “One Fact A Day” series has been reposted here.

Everyday (or so) a simple fact about ABSE and a short text regarding that fact was posted to the community.

This fact series is meant to be a very simple and easy way for developers to get acquainted with ABSE, to know what it can do, and what they can accomplish with it. It won’t take you more than two minutes per fact.

New post announcements will be added to ABSE/AtomWeaver’s Twitter account.

ABSE/AtomWeaver Early Access Program

May 24, 2010 in Uncategorized

On April 29, the ABSE and AtomWeaver Early Access Program reached another important milestone with the shipment of the first AtomWeaver version to the program participants.

AtomWeaver Alpha version 0.8.1 is now on the hands of a dozen professionals that showed interest in trying out this new technology as alpha testers.

This also means that the technology is rapidly maturing to reach version 1.0. After an additional 4-6 week period at beta stage, AtomWeaver will become publicly available around middle of June.

After three years in the making and maturing process, ABSE, in its third incarnation since its inception, will face the real world. There is much more to do after the first release, as ABSE 1.0 is assumed to be a MVT (minimum viable technology) and AtomWeaver 1.0 is assumed to be a MVP (minimum viable product).