Valis và các phép tính
Vali là các tham số thiết kế của Block, Requirement hoặc Analysis, có thể được dùng trong tính toán và tài liệu hóa. Một Vali có giá trị số và cũng chứa thêm thông tin như loại, đơn vị, công thức, mô tả và các yêu cầu min/max.
Tạo Vali
Khi xem thuộc tính của một Block, bạn có thể tạo Vali trong Block này bằng cách nhấp vào nút
ở góc trên bên phải của trang. Trong cửa sổ Create Property mở ra, hãy chọn loại thuộc tính bạn muốn tạo. Với một Vali, hãy nhập Name của Vali (có thể là bất kỳ tên nào hoặc tên của một Valitype), xác định Formula and unit (bắt buộc), và Display Unit (tùy chọn). Ngoài ra, bằng cách sử dụng trường Add to Block, bạn có thể xác định những Block nào sẽ được thêm Vali này.
Lưu ý rằng khi tạo một thuộc tính, bạn có thể tạo các Vali với nhiều loại khác nhau: Vali thông thường, Matrix, Textvali, Datevali hoặc Dataset.
| Loại | Mô tả |
|---|---|
| Vali | Thuộc tính của Block chỉ có một giá trị duy nhất, ví dụ: khối lượng, chi phí, khối lượng riêng, v.v. |
| Matrix | Ma trận là một nhóm các Vali riêng lẻ được sắp xếp theo hàng và cột. Matrix Vali thường được dùng khi thuộc tính của các Block có các chế độ khác nhau, ví dụ mức tiêu thụ điện năng ở các chế độ khác nhau, giá trị quán tính trên các trục khác nhau. |
| Textvali | Một Vali dùng để lưu chuỗi/văn bản. |
| Datevali | Một Vali dùng để lưu thông tin ngày tháng. |
| Dataset | Tại đây, bạn có thể nhập hoặc thêm các giá trị dataset, tạo đồ thị và sử dụng các giá trị đó trong việc tính toán các giá trị khác. |
Thêm công thức
Một Vali có thể được tính bằng công thức sử dụng các biểu thức toán học thông dụng hoặc bằng cách thêm hằng số hay hàm. Công thức cũng có thể chứa các Vali khác.
Trong trường Formula and unit, bạn có thể tham chiếu đến các Vali có sẵn trong dự án hiện tại hoặc các dự án khác. Để làm điều đó, hãy nhập $ trong trường này. Trong cửa sổ bật lên xuất hiện, tìm và chọn Vali cần dùng.

Gọi Vali – ở bất kỳ đâu trong Requirements Portal, bạn có thể dùng ký hiệu đô la $ để mở danh sách thả xuống hiển thị mọi đối tượng có thể tham chiếu được (ví dụ: Vali, Requirement, v.v.).
Nếu bạn muốn dùng Vali từ một dự án khác, bạn có thể cuộn xuống cuối cửa sổ bật lên để chọn tùy chọn show other projects.
Các loại công thức phổ biến
Bạn có thể:
-
dùng một giá trị cố định, chẳng hạn như
42.7kg, hoặc -
dùng một công thức, chẳng hạn như
5/(3+17.3*9), hoặc -
dùng các Vali khác bằng ký hiệu
$:$car.speed+5.
Các phép toán có sẵn trong công thức là:
-
+,-,*,/ -
%(phép modulo) -
^ -
sqrt() -
exp() -
log10(),ln(),log() -
sin(),cos(),tan() -
asin(),acos(),atan() -
sinh(),cosh(),tanh() -
fabs(): trả về giá trị tuyệt đối -
soc()= "Tổng của các phần tử con": tổng của tất cả các Vali cùng loại trong các Block con -
poc()= "Tích của các phần tử con": tích của tất cả các Vali cùng loại trong các Block con
Bạn cũng có thể dùng các hàm logic sau trong công thức:
-
if(condition, formula_if_true, formula_if_false) -
max(formula1, formula2) -
min(formula1, formula2)
Các hàm tích hợp sẵn của Requirements Portal
-
soc(): viết tắt của "sum of children", cộng tất cả các Vali cùng loại trong các Block ở cấp dưới trực tiếp -
rssoc(): viết tắt của “root sum squared of children” sqrt(x1^2+x2^2+⋯+xn^2). Ví dụ, nếu bạn có ba khối lượng 2kg, 5kg và 6kg, hàm rssoc sẽ cho kết quả 8.062257 -
aoc(): viết tắt của "average of children", tính giá trị trung bình của các Vali cùng loại trong các Block ở cấp dưới trực tiếp -
poc(): viết tắt của "product of children", nhân tất cả các Vali cùng loại trong các Block ở cấp dưới trực tiếp -
average_of_datasets()hoặcaod(): kết quả của Vali là giá trị trung bình tại từng điểm của các dataset thuộc Vali đó. Nếu chỉ có một dataset, dataset đó sẽ là kết quả và được dùng trong các phép tính tiếp theo -
sum_of_datasets()hoặcsod(): kết quả của Vali là tổng tại từng điểm của các dataset thuộc Vali đó. Nếu chỉ có một dataset, dataset đó sẽ là kết quả và được dùng trong các phép tính tiếp theo -
property($vali, property_name): lấy một thuộc tính của Vali. Các khả năng choproperty_namelà:-
minvàmax(lần lượt để lấy yêu cầu min và max) -
wc_minusvàwc_plus(lần lượt để lấy trường hợp xấu nhất âm và dương)
-
-
minoc(): giá trị nhỏ nhất của các phần tử con. Trả về giá trị nhỏ nhất của tất cả các Vali cùng loại trong các Block con -
maxoc(): giá trị lớn nhất của các phần tử con. Trả về giá trị lớn nhất của tất cả các Vali cùng loại trong các Block con -
round(): hàm này tuân theo đặc tả của Python's round function, trong đó các giá trị được làm tròn đến bội số gần nhất của 10 lũy thừa âm ndigits
Ví dụ về công thức:
-
$SolarPanel.width * $SolarPanel.length -
max(soc(), $SolarPanel.lowest_mass) -
if($SolarPanel.width*2 > $SolarPanel.length, 10, 5)
Thông tin Vali
Bạn có thể xem thêm thông tin về Vali bằng cách nhấp vào tên của nó. Thao tác này sẽ mở chế độ xem chi tiết của Vali, với thông tin được trình bày trên tab Info.

Thông tin Vali – khi nhấp vào một Vali, một chế độ xem có thêm thông tin sẽ mở ra. Tại đây bạn có thể xác định thêm thuộc tính, thêm mô tả và xác định tác động.
Thông tin cơ bản về một Vali được hiển thị trong chế độ xem gồm:
-
ID – ID là một số ngẫu nhiên được tự động thêm bởi Valiengine, thành phần được dùng trong Backend.
-
Name – tại đây bạn có thể nhập và chỉnh sửa tên của Vali.
-
Description – trong trường mô tả, bạn có thể nhập mô tả cho Vali. Bạn cũng có thể định dạng và chỉnh sửa các tác vụ như minh họa bên dưới.
Bạn cũng có thể thêm/thay đổi margin/đơn vị và thêm các yêu cầu (min/max). Các yêu cầu (min/max) là các giới hạn mà bạn đặt cho thuộc tính cụ thể đó.
Các thông tin khác có thể được thêm/xem tại đây bao gồm References, Using và Used by, cũng như Impacts của Vali này.
Lịch sử của Vali
Khi một Vali được thay đổi trực tiếp hoặc gián tiếp, các thay đổi sẽ tự động được lưu trong cơ sở dữ liệu của Requirements Portal. Tab History của Vali hiển thị giá trị trước đó, giá trị sau khi thay đổi và ai là người đã thay đổi các giá trị. Requirements Portal ghi nhận các thay đổi ngay cả khi Vali đã thay đổi không được tham chiếu trực tiếp đến Vali đó.
Để xem lịch sử thay đổi của một Vali, hãy nhấp vào tên của Vali và chọn tab History. Trên tab này, bạn có thể thấy đồ thị thể hiện các thay đổi theo thời gian. Bên dưới đồ thị là bảng Recent Changes chứa dữ liệu Time, Value Before, Value After và Reason.

Lịch sử Vali – trên tab History, thay đổi của một Vali theo thời gian được hiển thị dưới dạng đồ họa và bảng biểu.
Thông báo khi có thay đổi
Để nhận thông báo khi một Vali cụ thể thay đổi, bạn có thể đăng ký theo dõi bằng cách nhấp vào nút ba chấm trong cột Actions và chọn lệnh Add » Subscribe trong menu mở ra.
Để biết thêm thông tin về thông báo, hãy tham khảo trang Notifications.