Acme-layout -- ACME Design Auto-Layout Tool SYNOPSIS acme-layout < input.acme > output.acme DESCRIPTION The ACME layout tool takes a valid ACME description as standard input and adds visual properties to the elements of the design which describe positioning and size information so that the design can be visualized. The new annotated design is then output to the standard output. The new design can then be read by a tool that requires the visual information. This includes environments like Aesop as well as ACME-based tools like the acme-web tool included in the ACME tools distribution. Acme-web can be used to generate HTML documentation based on the design, including diagrams that take advantage of the visual information: acme-layout < somefile.acme | acme-webgen The layout of components and connectors in Systems is done using graph layout algorithms from the Graphlet library (reference) which is compiled into the auto-layout tool. The current version of the tool uses a single algorithm from the library based on the (name) Mixed-Model algorithm (reference) . A future version of the acme-layout tool will support a choice of algorithms and way to specify options to those algorithms. ACME INPUT RESTRICTIONS Any valid ACME description can be used as input. No special properties are required. The current version of the tool ignores any visual properties already present in the input design. Future versions of this tool will take advantage of partial layout information, and allow additional layout constraints to be specified. ACME OUTPUT PROPERTIES The acme-layout adds the vis-position property to each System, Component, Connector, Port and Role in a design. The vis-position has the following ACME property type: Property Type vis-positionT = Record [ x : float; y : float; width : float; height : float; ] For example, Component foo = { Property vis-position = [ x = 50.0; y=50.0;width=100.0;height=50.0]; }; The fields x and y describe the coordinates of the center of a Component or Connector relative to the upper-left hand corner of the parent system in the usual pixel-based coordinate system. For a Connector, the position refers to the ôbodyö of the connector from which edges radiate to its roles. Port and Role positions are specified relative to the center of the parent Component or Connector, respectively. The properties width and height describe the height and width of the bounding box of an element. For a connector, the properties refer to the size of the ôbodyö of the connector. Note that the layout tool assumes that a component is rectangular when computing the positions of ports along its outside edge. ENVIRONMENT acme-layout does not use any environment variables, or external libraries. SEE ALSO The acme-webgen tool documentation. The ACME-Lib Programmer's Manual. Acme-webgen -- ACME Design Web Documentation Tool SYNOPSIS acme-webgen options < input.acme > output.acme DESCRIPTION The acme-webgen tool takes an ACME description that has been annotated with properties describing the positions of elements in Systems (in the format output by acme-layout) and generates a documentation tree of design which can be viewed with a Web Browser. Each element of the design is rendered as an HTML page that includes a graphical visualization of the element. The document appearance can be customized by defining a visual style in which to render a design. A visual style consists of HTML templates that describe the appearance of an element information page and descriptions of the graphical visualization to use for an element. . OPTIONS -name Rename the the top level system . The top-level documentation directory will also have this name. -style