Software Engineering Institute Carnegie Mellon

Product Line Systems Program
Predictable Assembly from
Certifiable Code
PACC Technologies
Collaborations
Downloads
Publications
Glossary
Workshops and Conferences
Software Product Lines
Software Architecture

Pin Component Technology

 

What is Pin?

Pin is a basic, simple component technology for building embedded, safety- and time-critical software and for demonstrating the feasibility of prediction-enabled component technologyglossary icon.

  • Pin implements the container idiom for software components. Containers provide a prefabricated “shell” in which custom code executes and through which all interactions between custom code and its external environment are mediated.
  • The interface of a Pin component comprises a set of communication channels called pins. Pins support either a synchronous or asynchronous style of communication.
  • Components are strictly reactive—behavior is triggered by the arrival of stimulus on sink pins; response to stimulus is emitted through source pins.
  • Components are fully encapsulated—the only communication paths from a component to its environment are through its pins.
  • Pin supports pure assembly—interaction among two components is enabled by connecting the source pins of one component to the sink pins of another.
  • A fixed repertoire of connectors is provided to support synchronous and asynchronous interaction among components.
  • An assembly is a set of connected components—assemblies are finite and have fixed connection topology.
  • Assemblies are deployed to a runtime environment that manages the life cycle of components and provides services for managing shared resources.

Additional Information

Want to know more, start by reading