Login | Register
My pages Projects Community openCollabNet

Buckminster Features

A cornerstone in Buckminster is the piece called Assembly Manager (AM). It implements a relatively small number of important functions that together help define a flexible round-trip development process that can be adapted by an organization. It has important links to Configuration Management (CM) disciplines and tools to provide necessary functionality. It also has a unique 'assembly line' concept, maintaining a stepwise build/production process, with support for persistent and reusable component states after each step.

Features of Assembly Manager
  • Version Control tool integration
    With AM having a component-based look on the world, it's important to help the developer deal in components; especially to be able to describe configurations consisting of a group of components coming from one or more places. Currently supported: basic filesystem, CVS and a specialized secure mechanism called Component State ARchives (CSAR).

  • Component configuration management
    AM recognizes that not only are the individual components versioned, but the configurations describing a component mix must be possible to version control too. Configurations and components can be managed in any manner - completely uncontrolled, or fully secure or anywhere in between.

  • Assembly line paradigm
    It's useful to be able to describe actions that must be taken at different times in a components production - for example, some questions can't be answered before a certain point, and the answer may affect how the component is refined. Therefore AM allows definition of a build separated into many separate steps.

  • Persistent component states
    With an assembly line paradigm, components may have many possible states and a state may take a non-trivial amount of time to compute. AM provides mechanisms to persist and at a later time, reuse such persisted states.

  • Easy integration
    AM consists of a Java library, with simple API's. This makes it easy to integrate into any kind of UI such as an IDE. A basic command line UI is a standard packaging.

  • Easy to use
    AM wraps the well-known build tool Ant for execution of the underlying make/build scripts. AM adds a driver around this, implementing the assembly line mechanism, and defines some rules for the make scripts to abide by for powerful functions.

  • Minimized component coupling
    Since AM runs each component separately in the correct order, the components can expect their dependencies to be available at the right time. By using indirect references in the build scripts, the components are completely location independent. Further, AM exploits this by allowing a configuration to switch in a prebuilt version of any component, without any dependents needing any changes.

  • Focuses on scalability
    AM recognizes many common problems concerning for example build times in large projects, and through the component-based orientation, the inherent problems of large and/or distributed development teams.

Component Configuration Broker (Future)

Building on functions defined by AM, Buckminster will create a component configurator & database to help broker available components (states).