sofaman.ir.model

sofaman.ir.model#

This module defines the intermediate representation (IR) of the sofa model. The IR is used to represent the parsed sofa model in a structured way, which is then used by the generator to generate the final output in the desired format (e.g., PlantUML, XMI).

Classes

Actor(struct)

Represents an actor.

Actors(elems)

Represents a list of actors.

ArchElement(struct)

Common base class for all the architectural elements like class, component, interface, relation, etc.

ArchElementList(elems)

Represents a list of architectural elements.

Attribute(name, props)

Represents an attribute of a class, a component, interface etc.

Capabilities(elems)

Represents a list of capabilities.

Capability(struct)

Represents a business or techical capability.

Cardinality([card_str])

Represents the cardinality of an attribute or a relation.

Class(struct)

Represents a class.

Classes(elems)

Represents a list of classes.

Component(struct)

Represents a component.

Components(elems)

Represents a list of components.

Diagram(diagram)

Represents a diagram.

DiagramType(value[, names, module, ...])

Represents the type of a diagram.

Diagrams(elems)

Represents a list of diagrams.

Domain(struct)

Represents a business or technical domain.

Domains(elems)

Represents a list of domains.

EndPoint(name, port[, cardinality])

Represents an end point of a relation.

Import(file_name)

Represents an import statement.

ImportStyle(file_name)

Represents an import statement that imports a style sheet.

Imports(elems)

Represents a list of import statements.

Interface(struct)

Represents an interface.

Interfaces(elems)

Represents a list of interfaces.

IrContext(ir[, root_file])

Context used while building the IR.

KeyValue(key, value)

Represents a key-value pair.

Literal(name[, value])

Represents a literal element.

Module(struct)

Represents a module.

Named(*args, **kwargs)

Protocol for elements that have a name.

Operation(name, props)

Represents an operation of a class, a component, interface etc.

Package(struct)

Represents a package.

Packages(elems)

Represents a list of packages.

Parameter(name, props)

Represents a parameter of an operation.

ParameterDirection(value[, names, module, ...])

Represents the direction of a parameter of an operation (whether it is passed as input or returned as value).

Port(name)

Represents a port of a component.

Primitive(struct)

Represents a primitive type.

Primitives(elems)

Represents a list of primitive types.

PropertyContainer(props)

Base class for all the elements in the sofa model that can have properties.

Relation(type, source, source_port, target, ...)

Represents a relation between two elements.

RelationType(value[, names, module, ...])

Represents the type of a relation.

Relations(elems)

Represents a list of relations.

SofaBase()

Base class for all the elements in the sofa model.

SofaRoot()

Represents the root of the sofa model.

StereoTypeProfile(name, stereotypes)

Represents the profile of a stereotype.

StereotypeProfiles(elems)

Represents a list of stereotype profiles.

StereotypeReference(qname)

Represents a reference to a stereotype.

Struct(name[, inheritance, properties])

Represents a structure with properties.

Validator()

Validates that the sofa model is semantically correct and complete.

Visibility(value[, names, module, qualname, ...])

Represents the visibility of an element.

Visitor(*args, **kwargs)

Exceptions

ValidationError

Represents a validation error.