Lapisan abstraksi perangkat keras
Lapisan abstraksi perangkat keras (Inggris: hardware abstraction layer disingkat HAL) adalah sebuah lapisan logis antara perangkat keras fisik dari sebuah komputer dan perangkat lunak yang berjalan di dalam komputer yang bersangkutan. Fungsi dari HAL adalah untuk menyembunyikan perbedaan-perbedaan di dalam perangkat keras dan maka dari itu menyediakan platform yang konsisten untuk menjalankan aplikasi di atasnya.
Arsitektur perangkat lunak
Arsitektur perangkat lunak adalah struktur sistem dari suatu program atau sistem komputer yang terdiri dari komponen-komponen perangkat lunak, ciri yang tampak secara eksternal dari komponen-komponen tersebut, serta hubungan antar komponen tersebut. Istilah ini juga merujuk pada dokumentasi arsitektur perangkat lunak suatu sistem.