Categories
Software Architecture

Khung Nhìn Và Tài Liệu Kiến Trúc (Hofmeister Và Những Người Khác) 4: Khung Nhìn Kiến Trúc Thực Thi

Khung nhìn thực thi

  • Mục đích chính:
    • Mô tả cấu trúc hệ thống theo các phần tử nền tảng thời gian chạy
      • Các tác vụ hệ điều hành, tiến trình, luồng, không gian địa chỉ
    • Nắm bắt
      • Cách chức năng của hệ thống được gán cho các phần tử nền tảng thời gian chạy
      • Cách các cá thể thời gian chạy kết quả giao tiếp
      • Tài nguyên vật lý được phân bổ cho chúng như thế nào
      • Vị trí, di chuyển, sao chép các thể hiện thời gian chạy

Khung nhìn thực thi, 2

  • Động lực
    • Hiệu suất, yêu cầu phân phối, nền tảng thời gian chạy (SW, HW)
  • Được sử dụng để
    • Phân tích hiệu suất, giám sát, điều chỉnh, gỡ lỗi, bảo trì dịch vụ
  • Đôi khi không đáng kể (một luồng, một tiến trình)
  • Cung cấp sự chuẩn bị tốt hơn cho thay đổi: Khung nhìn này có thể sẽ thay đổi thường xuyên hơn các khung nhìn khác vì
    • Phụ thuộc mạnh mẽ vào nền tảng SW và HW => thích ứng với những thay đổi / tiến bộ trong công nghệ
    • Kết hợp chặt chẽ với các yêu cầu về hiệu suất và phân phối
      • Điều chỉnh khung nhìn thực thi trong quá trình phát triển

Nhiệm vụ thiết kế

  • Phân tích toàn cục , thiết kế trung tâm, phân bổ tài nguyên
  • Thiết kế trung tâm sử dụng
    • Thẻ vấn đề từ phân tích toàn cục
    • Các thành phần, trình kết nối, cấu hình từ khung nhìn khái niệm
    • Mô-đun, được ánh xạ thành các thực thể thời gian chạy
    • Kiến trúc HW cũng nhập ở đây
  • Thiết kế trung tâm tạo ra
    • Các thực thể thời gian chạy, đường truyền thông tin, cấu hình thực thi
      • Các thực thể thời gian chạy đầu vào cho khung nhìn mã
      • Ảnh hưởng đến việc triển khai hệ thống (mã nguồn)
  • Nhiệm vụ thiết kế cuối cùng: phân bổ tài nguyên
    • Có thể khám phá các ràng buộc về tài nguyên đòi hỏi một số quyết định thay đổi (không thường xuyên)
  • Phản hồi
    • Các yếu tố, vấn đề, chiến lược mới cung cấp trở lại phân tích toàn cục
    • Cập nhật trong các quyết định về khung nhìn khái niệm, phân vùng lại mô-đun

Nhiệm vụ thiết kế

Nhiệm vụ thiết kế.

Phân tích toàn cục

  • Các yếu tố cụ thể
    • Yêu cầu hiệu suất, cơ chế giao tiếp
    • Tính tin cậy
  • Các chiến lược cụ thể
    • Chia sẻ tài nguyên, chính sách lập lịch trình
      • Đôi khi những điều này chỉ được biết sau này
  • Phân tích nền tảng HW và SW

Nền tảng HW

  • Danh sách các thành phần HW được sử dụng trong hệ thống
  • Cấu trúc liên kết (Topology) hoặc kết nối giữa chúng
  • Xác định
    • Phần nào của nền tảng HW có thể thay đổi
    • Khả năng thay đổi
    • Khi nào thay đổi sẽ xảy ra

Nền tảng SW

  • Cần biết cơ sở hạ tầng SW giữa nền tảng HWsản phẩm
    • Hệ điều hành (truyền thống)
    • Hệ điều hành + phần mềm mạng + lớp phần mềm trung gian + DBMS (ngày nay)
    • Các sản phẩm trong một công ty chia sẻ nền tảng SW chung (đặc biệt là các sản phẩm dòng sản phẩm)
  • Liệt kê các phần tử nền tảng để sử dụng trong khung nhìn này

biểu đồ nền tảng SW

Biểu đồ nền tảng SW.

Nền tảng SW, 2

  • Xác định
    • Phần nào của nền tảng SW có thể thay đổi
    • Khả năng xảy ra, thời gian, tác động của sự thay đổi
    • SW có thể thay đổi do thay đổi HW

Các thực thể thời gian chạy

  • Việc cần làm
    • Ánh xạ (các thành phần khái niệm và) các mô-đun tới các phần tử nền tảng đã xác định
    • Thực thể thời gian chạy được phân bổ cho một phần tử nền tảng
  • Các thực thể thời gian chạy không có tương ứng trực tiếp với các mô-đun
    • Tiến trình ẩn (Daemons), các tiến trình máy chủ khác

Biểu đồ các thực thể thời gian chạy.

Các thực thể thời gian chạy, 2

  • Tài nguyên
    • Chia sẻ
      • Được phép hoặc bắt buộc giữa các thực thể thời gian chạy
      • Tệp, bộ đệm, máy chủ, v.v.
    • Sao chép
    • Phân phối trên các máy chủ
  • Các quyết định được ghi lại dưới dạng đặc điểm thời gian chạy của mỗi thực thể thời gian chạy
    • Exp: loại máy chủ, sao chép, điều khiển đồng thời được sử dụng, các chính sách chia sẻ tài nguyên khác

Các đường truyền thông

  • Các đường truyền thông tin được cho phép và mong đợi giữa các thực thể thời gian chạy
    • Cơ chế và tài nguyên (các phần tử nền tảng) được sử dụng cho giao tiếp đó
    • Cơ chế giao tiếp có thể sử dụng các phần tử nền tảng như hộp thư, hàng đợi, bộ đệm, tệp tin
  • Thực hiện các giao thức cho đường dẫn
    • Phân tán giữa các thực thể thời gian chạy tham gia vào giao tiếp
    • Các thực thể thời gian chạy mới có thể được giới thiệu nếu giao thức quá phức tạp
      • Exp: liên kết đến HW đặc biệt

biểu đồ các đường truyền thông

Biểu đồ các đường truyền thông.

Cấu hình thực thi

  • Cấu trúc liên kết thời gian chạy của hệ thống
    • Các thể hiện của các thực thể thời gian chạy và cách chúng được kết nối
  • Xác định các thể hiện thời gian chạy và các thuộc tính của chúng
    • Thực thể thời gian chạy tương ứng và tên máy chủ
    • Phân bổ tài nguyên của từng thể hiện
    • Thông tin về việc tạo và hủy

Cấu hình thực thi, 2

  • Mô tả sự liên kết giữa các thể hiện thời gian chạy
    • Các thể hiện thời gian chạy nào giao tiếp
    • Các con đường liên lạc tạm thời và lâu dài
    • Sơ đồ cấu hình thực thi
      • Các thực thể và thể hiện của chúng
    • Hiếm khi tĩnh
      • Cần xác định và mô tả
        • Cấu hình thay đổi như thế nào theo thời gian
        • Các thay đổi được kiểm soát như thế nào
      • Giai đoạn vận hành, khởi động và tắt máy
      • Một số hệ thống: cấu hình thay đổi trong quá trình hoạt động

Đánh giá toàn cục

  • Nhiều đầu vào cho nhiệm vụ thiết kế trung tâm
    • Thiết kế khung nhìn khái niệm
      • Đồng thời giữa các thành phần khái niệm, cấu hình thực thi đó phải hỗ trợ
    • Các chiến lược phân tích toàn cục
      • Hiệu suất, độ tin cậy
    • Mô-đun và các phụ thuộc của chúng
      • Ràng buộc các thực thể thời gian chạy và giao tiếp của chúng
    • Kiến trúc HW
      • Tài nguyên HW, các ràng buộc trên nền tảng SW
      • Chi phí triển khai, tránh các thuật toán phức tạp
  • Nguồn thông tin nào vào thời điểm nào
    • Cân bằng các hướng dẫn và hạn chế này

Đánh giá toàn cục, 2

  • Thử nghiệm hoặc mô phỏng hiệu suất
    • Kỹ thuật phân tích không đủ
  • Kết quả đánh giá toàn cục
    • Điều chỉnh / tinh chỉnh ranh giới của các thực thể thời gian chạy
    • Sửa đổi đặc điểm của chúng cho phù hợp

Nhiệm vụ thiết kế cuối cùng: phân bổ tài nguyên

  • Xem xét các thể hiện thời gian chạy, ngân sách được xác định trong nhiệm vụ cấu hình
  • Phân bổ chúng cho các tài nguyên HW cụ thể
  • Gán các giá trị cụ thể cho các thuộc tính được lập ngân sách
    • Exp: thiết lập mức độ ưu tiên của tiến trình
  • Phân tích toàn cục
    • Các nguồn lực đã xác định sẽ được phân bổ, Nền tảng HW và SW => tài nguyên kết quả
    • Nền tảng SW
      • Số lượng cố định hoặc có thể định cấu hình của từng loại phần tử nền tảng

Nhiệm vụ thiết kế cuối cùng: phân bổ tài nguyên 2

  • Quyết định phân bổ
    • Bản địa hóa khá
    • Thường được đưa ra tại thời điểm xây dựng
  • Mục đích: sử dụng các kỹ thuật tiêu chuẩn từ phân tích toàn cục
    • Và các chiến lược cụ thể
  • Exp: RMS (rate monotonic scheduling/lập lịch biểu đơn điệu tỷ lệ) được sử dụng để chỉ định mức độ ưu tiên cho các tiến trình

Leave a Reply

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