Package edu.usc.alfa.xalfa.ast.primitive

This package contains AST classes corresponding to the primitives of Alfa.


Class Summary
BehavioralConstraintNode Behavioral constraints are applied to a particle template.
BirelayNode A Birelay is a special primitive constituent for bi-directional communication.
ConcreteBehaviorNode Concrete behaviors are applied to ParticleNodes.
ConstituentNode A constituent in Alfa is the abstract representation of a possibly hierarchical component or connector.
DatumNode The DatumNode represents a data type used in styles and architectures.
DuctNode A Duct Node represents an Alfa Duct primitive.
InputNode An Input Node is used for Input type portals.
InterfaceNode An interface is a basic grouping of portals similar to a subroutine definition in programming languages.
LinkNode A Link represents the connectedness between two portal groups through a set of ducts connecting their portals
OutputNode An Output Node is used for Output type portals.
ParticleNode A particle is the most flexible kind of constituent which allows its use in either connectors or components.
PortalGroupNode A portal group is the abstract representation for partitions of portals, either interfaces or twoways.
PortalNode A portal is the entry or exit point for data and control.
RelayNode A relay is a special primitive constituent in Alfa, and provides uni-directional routing of data items.
StructuralConstraintNode A Structural constraint is used to restrict the refinement of a constituent template's interfaces.
TwoWayNode A Twoway is a special interface, which has exactly one input and one output portal.

Package edu.usc.alfa.xalfa.ast.primitive Description

This package contains AST classes corresponding to the primitives of Alfa. These classes are used by ArchitectureNode and StyleNode. This package also contains abstract classes for constraint expressions using CoLa and Alloy. Information in these classes should be used for style conformance analysis as well as documentation of generated code.

See the papers on ViSAC and Alfa's composition theory for more details on the design of this package and it's classes.