Isomeris Logo
 

The ABSE Thought Process

From idea to code... less complexity with more control. That's the promise of ABSE. But how exactly do we go from an idea to a running system using ABSE and AtomWeaver?

Step 1 : Think about your development process

You must stop for a moment and think about how you develop software. Which languages, architecture, platform do you target? How do you organize your project? What "big parts" can you identify?

Application architecture

Step 2 : Isolate problems and identify repetitive patterns

You surely find yourself feeling like you are doing the same things over and over, but always with a slight variation. Those are repetitive patterns you'll use many times, and that you can automate through ABSE. Remember: reuse is your key objective.

database repetitive pattern

Step 3 : Decompose problems and patterns into concepts

The key question here is : "How is this done?". You decompose the problems you have isolated into discrete solution parts that we can call concepts, and then identify their variability.

create table diagram

Step 4 : Map your concepts into target code

Now that you have split up your problems into smaller parts, you should now determine how each concept results into a portion of your system's code. Identify which code can be automatically generated and which code can/must be manually written.

from diagram to sql code

Step 5 : Build and fine-tune your Atom Template libraries

Now that you have your concepts ready, turn them into Atom Templates: Concept = Atom Template. Concept variability is supported through Template Parameters. You can group related Atom Templates into Atom Libraries.

SQL Atom Library

Step 6 : Build models by reusing your Atom Templates

Now that your reusable assets are ready, start building your systems by combining your previously captured concepts. Go back to Step 5 if something is still missing.

Building an model of a SQL table

Step 7 : Generate things from your models

Once you have a model ready, you can order AtomWeaver to generate the corresponding code. You don't need a complete system. You just need a valid model.

Generated SQL code

Step 8 : Adjust, refactor, re-generate

Generate, test, adjust your model, edit your Templates, decompose existing concepts, add more variability. Go back to any of the previous steps.

Templates, Instances and Code

 

Send comments and bug reports to atomweaver <at> isomeris.com
(c)2010-2012 Isomeris