Categories
Software Architecture

Ngôn Ngữ Mô Tả Kiến Trúc 1: Giới Thiệu Ngôn Ngữ Mô Tả Kiến Trúc

Đặc điểm ngôn ngữ của mô tả kiến trúc

  • Các cấu trúc thành ngữ trong các kiến trúc khác nhau
    • các loại phần tử phổ biến
    • các chiến lược kết nối liên mô-đun phổ biến
  • Ngôn ngữ mô tả các mối quan hệ phức tạp giữa các phần tử cơ bảnsự kết hợp của chúng
  • Các cấu trúc ngữ nghĩa
    • => Có cơ sở ngôn ngữ phù hợp trong mô tả kiến trúc

Các mẫu thông dụng của tổ chức SW

  • Mô tả SA thường
    • Sơ đồ dạng hộp và đường thẳng
      • hộp → các thành phần chính
      • đường → giao tiếp, điều khiển, quan hệ dữ liệu
    • Hộp và đường có thể có nghĩa khác nhau
      • Đối với các hệ thống được mô tả khác nhau
      • Đối với những người khác nhau
      • Bổ sung bằng văn xuôi, không có nghĩa chính xác
        • Thuật ngữ không chính thức
      • Vẫn hữu ích

Các lớp thành phần thông dụng

  • (thuần túy) Tính toán
    • Quan hệ đầu vào / đầu ra đơn giản, không có trạng thái giữ lại
    • Exp: Các hàm toán học, bộ lọc, phép biến đổi
  • Bộ nhớ
    • Bộ sưu tập dữ liệu có cấu trúc thường trú được chia sẻ
    • Exp: Cơ sở dữ liệu, hệ thống tệp, bảng ký hiệu, siêu văn bản
  • Trình quản lý
    • Trạng thái và các hoạt động liên quan chặt chẽ
    • Exp: Kiểu dữ liệu trừu tượng, máy chủ
  • Bộ điều khiển
    • Điều chỉnh chuỗi thời gian của các sự kiện khác
    • Exp: Bộ lập lịch, bộ đồng bộ hóa
  • Liên kết
    • Truyền thông tin giữa các thực thể
    • Exp: Liên kết giao tiếp, giao diện người dùng

Các liên kết thông dụng giữa các thành phần

  • Cuộc gọi thủ tục
    • Một luồng điều khiển đi qua giữa các định nghĩa
    • Exp: Cuộc gọi thủ tục thông thường, cuộc gọi thủ tục từ xa
  • Luồng dữ liệu
    • Các tiến trình độc lập tương tác thông qua các luồng dữ liệu
    • Exp: Ống Unix
  • Lời kêu gọi ngầm
    • Tính toán được gọi bởi sự xuất hiện của một sự kiện; không có sự tương tác rõ ràng giữa các tiến trình
    • Exp: Hệ thống sự kiện, thu gom rác tự động
  • Truyền thông điệp
    • Các tiến trình độc lập tương tác bằng cách chuyển giao dữ liệu rõ ràng, rời rạc; có thể đồng bộ hoặc không đồng bộ
    • Exp: TCP/IP
  • Dữ liệu được chia sẻ
    • Các thành phần hoạt động đồng thời (có thể với các quy định về tính nguyên tử) trên cùng một không gian dữ liệu
    • Exp: Hệ thống bảng đen, cơ sở dữ liệu đa người dùng
  • Thực thể hóa
    • Trình tạo thực thể sử dụng các khả năng của định nghĩa được khởi tạo bằng cách cung cấp không gian cho trạng thái được yêu cầu theo từng trường hợp
    • Exp: sử dụng kiểu dữ liệu trừu tượng

Các phần tử quan trọng của ngôn ngữ thiết kế

  • Một ngôn ngữ (lập trình) yêu cầu
    • Thành phần
      • Các phần tử ngữ nghĩa nguyên thủy và giá trị của chúng
      • Exp: số nguyên, số dấu phẩy động, chuỗi, bản ghi, mảng
    • Toán tử
      • Các hàm kết hợp các thành phần
      • Exp: lặp, cấu trúc có điều kiện, +, -, *, /
    • Trừu tượng
      • Quy tắc đặt tên biểu thức của các thành phần và toán tử
      • Exp: định nghĩa về macro và thủ tục
    • Bao đóng
      • Các quy tắc để xác định những phần trừu tượng nào có thể được thêm vào các lớp của các thành phần và toán tử nguyên thủy
      • Exp: các thủ tục hoặc các kiểu do người dùng định nghĩa – các thực thể hạng nhất
    • Đặc tả
      • Liên kết ngữ nghĩa với hình thức cú pháp
      • Chính thức, không chính thức (trong tài liệu tham khảo)

Vấn đề ngôn ngữ cho SA

  • SA giải quyết
    • Phân bổ chức năng cho các thành phần
    • Kết nối dữ liệu và truyền thông
    • Thuộc tính chất lượng và cân bằng hệ thống
  • Khá khác với các mối quan tâm của ngôn ngữ lập trình (thông thường)
    • Các dạng cụ thể của các phần tử ngôn ngữ khác nhau cũng khác nhau

Các phần tử quan trọng của một ngôn ngữ thiết kế SA

  • Thành phần
    • Các phần tử cấp mô-đun; các lớp thành phần được liệt kê trước
  • Toán tử
    • Cơ chế tương tác như đã liệt kê trước đây
  • Mẫu / trừu tượng
    • Các thành phần trong đó các phần tử mã được kết nối theo một cách cụ thể; Exp: mối quan hệ máy khách-máy chủ
  • Bao đóng
    • Các điều kiện trong đó thành phần có thể đóng vai trò như một hệ thống con trong quá trình phát triển các hệ thống lớn hơn
  • Đặc tả
    • Không chỉ về chức năng, mà còn về các thuộc tính chất lượng

Hàm ý về các phần tử quan trọng

  • Căn cứ để thiết kế ADL được cung cấp bởi
    • Xác định các thành phần kiến trúc
    • Nhận dạng các kỹ thuật kiến trúc, để kết hợp chúng thành các hệ thống conhệ thống
  • Một ngôn ngữ như vậy sẽ hỗ trợ
    • Biểu thức đơn giản của kết nối giữa các mô-đun đơn giản, cộng với
    • Hệ thống con
    • Cấu hình của hệ thống con thành hệ thống
    • Các mô hình chung cho các kết hợp như vậy
    • Biểu hiện của thuộc tính chất lượng và thuộc tính chức năng

Leave a Reply

Your email address will not be published. Required fields are marked *