모듈 은 하드웨어 또는 펌웨어 에 포함 되 는 로직 일 수 있 고 , 또는 예 를 들 어 C 또는 C ++ 와 같 은 프로그래밍 언어 로 작성 된 엔트리 및 엑시트 ( exit ) 포인트 를 가능 하 게 구비 하 는 소프트웨어 명령 의 콜렉션 일 수 있 다 . 소프트웨어 모듈 은 실행 가능 한 프로그램 으로 컴파일 되 어 링크 되 고 , 다이내믹 링크 라이브러리 로 설치 될 수 있 으며 , 또한 예 를 들 어 BASIC , 펄 ( Perl ) , 또는 파이 선 ( Python ) 과 같 은 해석 형 프로그래밍 언어 로 작성 될 수 있 다 . 소프트웨어 모듈 은 다른 모듈 또는 그 들 자체 에서 호출 될 수 있 고 , 및 / 또는 검출 된 이벤트 또는 인터럽트 에 대한 응답 으로 인 보크 ( invoke ) 될 수 있 다는 것 은 당업자 에게 자명 할 것 이 다 . 소프트웨어 명령 은 EPROM 과 플 래쉬 메모리 와 같 은 펌웨어 에 내장 될 수 있 다 . 하드웨어 모듈 은 게이트 및 플립 - 플 롭 과 같 은 연결 로직 유닛 으로 이루어질 수 있 고 , 및 / 또는 프로그램 가능 한 게이트 어레이 또는 프로세서 와 같 은 프로그래머 블 유닛 으로 이루어질 수 있 다는 것 은 당업자 에게 자명 할 것 이 다 . 본 명세서 에서 설명 된 모듈 은 바람직 하 게 소프트웨어 모듈 로서 실시 되 지만 , 하드웨어 또는 펌웨어 로 표현 될 수 도 있 다 .