Execution model là gì?

Noun Programming
Mô hình thực thi

Một ngôn ngữ lập trình (programming language) bao gồm một ngữ pháp (grammar) / cú pháp (syntax) cộng với một mô hình thực thi (execution model). Mô hình thực thi (execution model) chỉ định hành vi của các thành tố (element) của ngôn ngữ. Bằng cách áp dụng mô hình thực thi (execution model), người ta có thể suy ra hành vi của một chương trình được viết bằng ngôn ngữ lập trình đó. Ví dụ khi một lập trình viên "đọc" mã trong tâm trí của họ, họ sẽ lướt qua những gì mỗi dòng mã thực hiện. Trên thực tế, họ mô phỏng hành vi bên trong tâm trí của họ. Những gì lập trình viên đang làm là áp dụng mô hình thực thi (execution model) cho mã, dẫn đến hành vi của mã.

Mỗi và mọi ngôn ngữ lập trình đều có một mô hình thực thi (execution model), mô hình này xác định cách thức mà các đơn vị công việc (được biểu thị bằng cú pháp chương trình) được lên lịch (scheduling) để thực thi (execution).

Một mô hình thực thi (execution model) bao gồm những thứ như đơn vị công việc không thể phân chia là gì và những ràng buộc nào về thứ tự thực hiện các đơn vị công việc đó. Ví dụ phép toán cộng là một đơn vị công việc không thể phân chia trong nhiều ngôn ngữ và trong các ngôn ngữ tuần tự (sequential languages) các đơn vị công việc đó bị ràng buộc phải diễn ra lần lượt.

Để minh họa điều này, hãy xem xét ngôn ngữ lập trình C, như được miêu tả trong cuốn sách của Kernighan và Richie có một khái niệm gọi là câu lệnh (statement). Đặc tả ngôn ngữ định nghĩa một câu lệnh là một đoạn cú pháp được kết thúc bằng dấu ";". Sau đó, đặc tả (specification) ngôn ngữ nói rằng "việc thực thi chương trình diễn ra hết câu lệnh này đến câu lệnh kia, theo trình tự". Những từ "việc thực thi chương trình diễn ra hết câu lệnh này đến câu lệnh kia, theo trình tự" là một phần trong mô hình thực thi (execution model) của C. Những từ đó cho chúng ta biết rằng các câu lệnh là đơn vị công việc không thể phân chia và chúng thực th theo thứ tự như cú pháp của chúng xuất hiện trong mã (ngoại trừ khi một câu lệnh điều khiển (control statement) như IF hoặc FOR sửa đổi thứ tự). Bằng cách nêu rõ rằng "việc thực thi chương trình diễn ra hết câu lệnh này đến câu lệnh kia, theo trình tự", mô hình lập trình (programming model ) đã nêu rõ các ràng buộc về thứ tự thực hiện các đơn vị công việc.

Learning English Everyday