Abstract: A computing system can be configured to perform operations in a define phase including receiving a component specification including a transformation function; inputting the component specification into a define function; receiving, as an output of the define function, the factory function; and receive data describing a second software component that satisfies the component specification of the first software component. In an assembly phase after the define phase, the computing system can input, into the factory function, the first software component and the second software component; and receiving, as an output of the factory function, the assembled software system including the first software component connected with the second software component according to the component specification of the first software component.
Abstract: A computing system can be configured to perform operations in a define phase including receiving a component specification including a transformation function; inputting the component specification into a define function; receiving, as an output of the define function, the factory function; and receive data describing a second software component that satisfies the component specification of the first software component. In an assembly phase after the define phase, the computing system can input, into the factory function, the first software component and the second software component; and receiving, as an output of the factory function, the assembled software system including the first software component connected with the second software component according to the component specification of the first software component.