Return to Software

COMLAN

COMLAN (Composition Centered Architectural Pattern Language)

Introduction

COMLAN is a tool to design architectural patterns with the focus on documenting composition operations. It provides the following functionalities:

  • Create architectural patterns
  • Compose patterns using merging operators
  • Refine the composed pattern

Demonstration

To demonstrate how our proposed tool function, we realized an example of design a pattern for the Vistrails application’s architecture [1]. Vistrails is a data exploitation, publishing and visualization application. The pattern for this type of application consists of 4 following patterns: Pipes and Filters, Client-Server, Repository and Layers.

The purpose of this demonstration is showing the two-step process of architectural pattern design. The first step consists of pattern composition description with merging operators. The second step consists of refining the composed pattern to concretize merging operators. The demonstration shows this two-step process first with the pattern Pipes and Filters and then repeats it with the Vistrails application pattern.

Each step of the demonstration can be viewed as follows:

Step by step:

  1. Acyclic pattern design:
    This demonstration first introduces the pattern editor and then shows how to use it to design the Acyclic pattern.

    AcyclicPatternDesign
    Acyclic pattern design – Click the image to start the video
  2. Sequential pattern design:
    This demonstration shows how to use the pattern editor to design the Sequential pattern.

    SequentialPatternDesign
    Sequential pattern design – Click the image to start the video
  3. Pipes and Filters composition:
    This demonstration shows how to compose the Pipes and Filters pattern by combining the Acyclic pattern and Sequential pattern.

    PipesAndFiltersPatternDesign
    Pipes and Filters composed pattern – Click the image to start the video
  4. Refine the Pipes and Filters composed pattern:
    This demonstration shows how to concretize the merging operators in the composed pattern.

    RefinedPipesAndFiltersPattern
    Pipes and Filters composed pattern refinement – Click the image to start the video
  5. Vistrails application’s constituent patterns:
    This demonstration shows the design of patterns participating in the Vistrails application pattern.

    VistrailsAppPatterns
    Constituent patterns of Vistrails application’s pattern – Click the image to start the video
  6. Vistrails application pattern composition:
    This demonstration shows how to compose the Vistrails application pattern by combining 4 patterns: Pipes and Filters, Client-Server, Repository and Layers.

    VistrailsAppPattern
    Compose the Vistrails application pattern – Click the image to start the video
  7. Refine the Vistrails application composed pattern:
    This demonstration shows how to concretize the merging operators in the Vistrails application composed pattern.

    RefinedVistrailAppPattern
    Vistrails application composed pattern refinement – Click the image to start the video

Download and Installation

Download

COMLAN as an Eclipse plugin can be downloaded under the following link: COMLAN tool (Updated 06 February 2013). The Vistrails application pattern example source code can be downloaded here: Vistrails Example.

Installation

COMLAN is developed based on EMF (Eclipse Modelling Framework) and its supporting technologies. Thus, the following plug-ins and frameworks are required to successfully build COMLAN:

Experimental materials and results

A complete report about experimental results can be found here: Technical report.

References

[1] Amy Brown and Greg Wilson. The Architecture Of Open Source Applications. lulu.com, 2011.

Permanent link to this article: http://www-archware.irisa.fr/software/comlan/