투명성(인간과 컴퓨터의 상호작용)

Transparency (human–computer interaction)

변경 후 시스템이 내부 동작을 변경하면서 이전의 외부 인터페이스를 최대한 고수한다면 새로운 기능이나 새로운 구성 요소와 같은 컴퓨팅 시스템의 변경은 투명합니다. 목적은 인터페이스의 다른 쪽 끝에 있는 모든 시스템(또는 인간 사용자)을 변경하지 않도록 보호하는 것입니다. 혼란스럽게도 이 용어는 구성 요소의 전체적인 투명도를 나타내는 것이지 구성 요소 내부의 가시성을 나타내는 것은 아닙니다(흰색 상자나 개방 시스템에서와 같이). 투명이라는 용어는 좋지 않은 의미(일반적으로 사용자가 볼 수 없고 제어할 수 없는 것으로 표시됨)를 가지고 있는 반면 투명이라는 용어는 좋은 의미(일반적으로 아무것도 숨기지 않는 것과 관련됨)를 가지고 있기 때문에 투명이라는 용어는 투명이라는 용어를 대신하여 컴퓨팅 마케팅에서 널리 사용됩니다. 대부분의 경우 투명이라는 용어는 특히 데이터 구조와 관련하여 불투명이라는 용어로 설명되는 컴퓨팅 프로세스의 실제 투명성을 나타내는 오해의 소지가 있는 방식으로 사용됩니다.[citation needed] 이러한 오해의 소지가 있고 반직관적인 정의 때문에 현대 컴퓨터 문헌은 "투명"보다는 "불가지론"의 사용을 선호하는 경향이 있습니다.

이 용어는 상위 또는 하위 인접 계층에서 보이지 않는 추상 계층과 관련하여 특히 자주 사용됩니다.

또한 1969년경 IBM과 허니웰 프로그래밍 매뉴얼에서[citation needed] 특정 컴퓨터 프로그래밍 기법을 지칭하는 용어로 임시 사용되었습니다. 애플리케이션 코드는 낮은 수준의 세부 사항(예: 장치별 관리)이 명확하지 않고 주요 문제를 해결하는 로직만 포함할 때 투명했습니다. 는 캡슐화를 통해 이루어졌습니다. 내부 세부 정보를 숨긴 모듈에 코드를 넣어 주 애플리케이션에서 보이지 않게 만들었습니다.

를 들어, 네트워크 파일 시스템은 투명한데, 이는 네트워크에 원격으로 저장된 파일에 대한 액세스를 이전의 로컬 액세스와 동일한 방식으로 도입하기 때문에 폴더 계층을 사용하는 동안 사용자가 이를 인식하지 못할 수도 있습니다. 초기 파일 전송 프로토콜(FTP)은 각 사용자가 ftp 클라이언트를 통해 파일에 액세스하는 방법을 배워야 하기 때문에 상당히 덜 투명합니다.

마찬가지로 일부 파일 시스템에서는 데이터를 투명하게 압축 및 압축 해제할 수 있으므로 사용자가 특별한 지식 없이도 미디어에 더 많은 파일을 저장할 수 있습니다. 일부 파일 시스템에서는 파일을 투명하게 암호화합니다. 이 방법은 압축 또는 암호화 유틸리티를 수동으로 실행할 필요가 없습니다.

소프트웨어 공학에서는 데이터베이스 액세스를 위해 추상화 계층을 개발하거나 사용하여 동일한 응용 프로그램이 서로 다른 데이터베이스에서 작동하도록 하는 것도 좋은 방법으로 간주됩니다. 여기서 추상화 계층은 프로그램의 다른 부분이 데이터베이스에 투명하게 액세스할 수 있도록 합니다(를 들어 데이터 액세스 개체 참조).

객체 지향 프로그래밍에서 투명성은 다양한 기본 클래스로 수행되는 실제 구현을 숨기는 인터페이스를 사용하여 촉진됩니다.

분산시스템의 투명성 유형

투명성이란 어떤 형태의 분산 시스템이든 사용자로부터 분산된 특성을 숨겨야 하며, 정상적인 중앙 집중식 시스템으로 나타나고 기능해야 한다는 것을 의미합니다.

투명성에는 여러 가지 유형이 있습니다.

  • 액세스 투명성 – 각 컴퓨팅 엔티티에서 리소스 액세스 및 표현을 수행하는 방법에 관계없이 분산 시스템의 사용자는 항상 단일하고 균일한 방식으로 리소스에 액세스해야 합니다. 예: SQL 쿼리
  • 위치 투명성 – 분산 시스템의 사용자는 리소스가 물리적으로 어디에 있는지 알 필요가 없습니다. 예: 웹의 페이지
  • 마이그레이션 투명성 – 사용자는 리소스 또는 컴퓨팅 엔티티가 다른 물리적 또는 논리적 위치로 이동할 수 있는 기능을 보유하고 있는지 여부를 인식하지 말아야 합니다.
  • 재배치 투명성 – 사용 중에 리소스가 이동하는 경우, 최종 사용자에게 이러한 정보가 표시되지 않아야 합니다.
  • 복제 투명성 – 리소스가 여러 위치에서 복제된 경우 사용자에게 단일 리소스로 표시됩니다.
  • 동시 투명성 – 여러 사용자가 하나의 리소스를 놓고 경쟁하고 공유할 수 있지만, 이를 어느 사용자에게도 분명하게 보여선 안 됩니다.
  • 장애 투명성 – 컴퓨팅 엔티티 및 리소스의 장애 및 복구를 항상 숨기려고 노력합니다.
  • 지속성 투명성 – 리소스가 휘발성 메모리에 있는지 영구 메모리에 있는지 여부는 사용자에게 차이가 없어야 합니다.
  • 보안 투명성 – 암호화 방식으로 안전한 리소스 액세스를 협상하려면 최소한의 사용자 개입이 필요합니다. 그렇지 않으면 사용자는 생산성을 선호하여 보안을 회피하게 됩니다.[citation needed]

이러한 대부분의 개념에 대한 공식적인 정의는 개방형 분산 처리 참조 모델(ISO 10746)인 RM-ODP에서 찾을 수 있습니다.

이러한 속성을 달성할 수 있거나 달성해야 하는 정도는 매우 다양할 수 있습니다. 모든 시스템이 사용자로부터 모든 것을 숨길 수도 없고 숨겨서도 안 됩니다. 예를 들어, 고정되고 유한한 빛의 속도가 존재하기 때문에 사용자로부터 멀리 떨어진 자원에 액세스하는 데 더 많은 지연 시간이 항상 발생할 것입니다. 분산 시스템과의 실시간 상호 작용을 예상할 경우 이는 매우 두드러질 수 있습니다.

참고문헌