SAL có một ngôn ngữ cấp cao mô hình để chỉ định nhà nước máy. Máy nhà nước được chỉ định bởi một mô-đun. Một mô-đun bao gồm một tập hợp các biến trạng thái (tuyên bố là đầu vào, đầu ra, toàn cầu, hoặc địa phương) và bảo vệ quá trình chuyển đổi. Một quá trình chuyển đổi bảo vệ được kích hoạt nếu guard của mình-một số biểu hiện mà đánh giá một giá trị boolean — là đúng sự thật. Của các quá trình chuyển đổi được kích hoạt trong một nhà nước, một nondeterministically được thực hiện.Khi một quá trình chuyển đổi được thực hiện, các giá trị nhà nước kế tiếp được gán cho biến; Ví dụ, hãy xem xét quá trình chuyển đổi bảo vệ sau đây:H--> một ' = a - 1; b' = a; c' = b' + 1;Nếu guard H giữ và quá trình chuyển đổi được thực hiện, sau đó thuộc bang tiếp theo, biến một là sai bởi một, biến b được Cập Nhật để thì giá trị của một, và các biến c được cập nhật thành giá trị mới của b, cộng với một. Trong ngôn ngữ của SAL, ";" là bắt tuyên bố ly thân, không phải tuần tự thành phần (do đó, biến bài tập có thể được viết theo thứ tự bất kỳ). Nếu không có biến được Cập Nhật trong một quá trình chuyển đổi (tức là, H-->), bang idles.Mô-đun có thể bao gồm cả đồng bộ (|) và không đồng bộ ([]), và bao gồm các mô-đun giao tiếp thông qua chia sẻ biến. Trong một thành phần đồng bộ, một quá trình chuyển đổi từ mỗi mô-đun được đồng thời áp dụng; một thành phần đồng bộ bế tắc nếu một trong hai mô-đun đã không chuyển tiếp được kích hoạt. Hơn nữa, một hạn chế cú pháp trên mô-đun yêu cầu không có mô-đun hai Cập Nhật cùng một biến trong một thành phần đồng bộ. Trong một thành phần không đồng bộ, một quá trình chuyển đổi cho phép từ chính xác là một trong các mô-đun nondeterministically áp dụng.Ngôn ngữ được gõ, và predicate tiểu loại có thể được tuyên bố. Loại có thể là cả hai giải thích và loại uninterpreted, và căn cứ bao gồm tập số thực, naturals, và phép toán luận. Mảng loại, loại dữ liệu quy nạp, và tuple loại có thể được định nghĩa. Diễn giải và uninterpreted hằng số và chức năng có thể được xác định.Một trong những lợi ích thực tế vĩ đại nhất của SAL là một loạt các công cụ hữu ích liên kết với cùng một ngôn ngữ đầu vào. SAL 3,0 bao gồm bộ kiểm tra BDD dựa trên mô hình, SAT dựa trên mô hình kiểm tra (có khả năng thực hiện chứng minh cảm ứng k) và kiểm tra nhà nước vô hạn mô hình bị chặn được tích hợp với satisfiability Yices theo modulo người giải quyết lý thuyết (SMT), một mô phỏng dựa trên BDD, một kiểm tra BDD dựa trên bế tắc, và một máy phát điện trường hợp thử nghiệm tự động. Các công cụ khác có thể được xây dựng trên của SAL API.
đang được dịch, vui lòng đợi..
