Process Composition with Typed Unix Pipes

Research output: Contribution to book/conference proceedings/anthology/reportConference contributionContributedpeer-review

Contributors

  • Michael Sippel - , TUD Dresden University of Technology (Author)
  • Horst Schirmeier - , Chair of Operating Systems, TUD Dresden University of Technology (Author)

Abstract

Pipes are a standard inter-process communication mechanism in Unix-like operating systems, allowing to compose simple, single-purpose programs to solve complex problems. This powerful mechanism arguably contributed quite a lot to the success of Unix. However, the design decision to standardize unstructured, type-less byte streams as a basis for communication can be seen as disadvantageous: Incompatible programs can mistakenly be hooked together, conversions have to be added manually, and the structure of the communicated data has to be re-created by parsers and serialized again at every node in the pipeline. To overcome these disadvantages, we propose to explore the potential behind typed Unix pipes. Based on a type system with a special type constructor - the ladder type, - runtime type checks for pipes and potentially also files, program arguments and environment variables prevent the user to create invalid program graphs. This also allows to add automatic conversions that resolve type conflicts in the future. A prototypical implementation extends an existing shell with a type-check routine and demonstrates the concepts on a set of realistic use-case scenarios.

Details

Original languageEnglish
Title of host publicationPLOS 2023 - Proceedings of the 12th Workshop on Programming Languages and Operating Systems, Part of
PublisherAssociation for Computing Machinery, Inc
Pages34-40
Number of pages7
ISBN (electronic)9798400704048
Publication statusPublished - 23 Oct 2023
Peer-reviewedYes

Publication series

SeriesSOSP: ACM Symposium on Operating Systems Principles

Workshop

Title12th Workshop on Programming Languages and Operating Systems
Abbreviated titlePLOS 2023
Conference number12
DescriptionIn conjunction with the 29th ACM Symposium on Operating Systems Principles (SOSP '23)
Duration23 October 2023
Website
CityKoblenz
CountryGermany

External IDs

ORCID /0000-0002-1427-9343/work/167216814

Keywords