En el ámbito de la computación y la ingeniería de sistemas, los sistemas se clasifican según su interacción con el entorno y su nivel de apertura. Los sistemas abiertos se conectan directamente con su medio, mientras que los semi-abiertos intercambian materia o energía de manera indirecta.