Tình huống cụ thể của tôi, khi tôi sử dụng ngôn ngữ kịch bản diễn giải trong một ứng dụng chính:
Có một thiết bị bên ngoài thực hiện một số chức năng. Đo lường, kiểm soát, đọc. Bản thân nó khá "ngu ngốc" và yêu cầu kiểm soát chính xác, từng bước, bao gồm rất nhiều trạng thái chờ đợi và đưa ra quyết định đột xuất về phía cơ chế kiểm soát.
Các chức năng khác nhau của thiết bị được yêu cầu tại các điểm khác nhau của ứng dụng chính, tại các thời điểm khác nhau, thường theo yêu cầu. Ứng dụng chính không cho phép các trạng thái chờ như vậy, mọi thứ phải được thực hiện với các máy trạng thái hữu hạn.
Bây giờ bất cứ ai đã viết một máy trạng thái hữu hạn đều biết việc thực hiện trạng thái chờ là có hiệu quả ít nhất hai, thường là ba hoặc bốn trạng thái bên trong của máy. Việc thực hiện hai mươi trạng thái chờ cho các chức năng khác nhau (và chờ phản hồi của chúng và phản ứng tương ứng) của thiết bị bên ngoài sẽ là một trải nghiệm rất, rất bực bội.
Vì vậy, thay vào đó là các trạng thái "thực thi chức năng không chờ", "thực thi chức năng chặn", "thực hiện chức năng phân nhánh / điều kiện / nhảy" trong máy trạng thái hữu hạn, có thể là tổng cộng sáu trạng thái. Và có các kịch bản điều khiển được lên lịch để thực hiện, sau đó được trình thông dịch điều khiển thiết bị bên ngoài thực hiện và kết quả của chúng được đặt ở nơi chúng được yêu cầu.
Tóm tắt, ứng dụng: trong RTOS, sử dụng ngôn ngữ kịch bản được diễn giải nội bộ có thể làm giảm đáng kể sự phức tạp của việc thực hiện các tác vụ phong phú ở trạng thái chờ (chức năng chặn).