Valis 및 계산
Vali는 계산과 문서화에 사용할 수 있는 Block, Requirement 또는 Analysis의 설계 파라미터입니다. Vali는 수치 값을 가지며, 타입, 단위, 수식, 설명, 최소/최대 요구사항과 같은 추가 정보도 포함합니다.
Vali 생성
Block의 속성을 보고 있을 때 페이지 오른쪽 상단의
버튼을 클릭하면 이 Block에 Vali를 생성할 수 있습니다. 열리는 Create Property 창에서 생성하려는 속성 유형을 선택합니다. Vali의 경우, Vali의 Name를 입력하고(임의의 이름 또는 Valitype 이름 가능), Formula and unit(필수)와 Display Unit(선택)를 정의합니다. 또한 Add to Block 필드를 사용하여 이 Vali를 어떤 Block에 추가할지 정의할 수 있습니다.
속성을 생성할 때 서로 다른 유형의 Vali를 만들 수 있습니다: 일반 Vali, Matrix, Textvali, Datevali, 또는 Dataset.
| 유형 | 설명 |
|---|---|
| Vali | 하나의 단일 값만 가지는 Block의 속성입니다. 예: 질량, 비용, 밀도 등 |
| Matrix | 행과 열로 정렬된 개별 Vali들의 그룹입니다. Matrix Vali는 Block의 속성이 서로 다른 모드를 가질 때 일반적으로 사용됩니다. 예: 서로 다른 모드에서의 전력 소비, 서로 다른 축의 관성값 |
| Textvali | 문자열/텍스트를 저장하는 Vali입니다. |
| Datevali | 날짜 정보를 저장하는 Vali입니다. |
| Dataset | 여기에서 데이터셋 값을 가져오거나 추가하고, 그래프를 생성하며, 그 값을 다른 값 계산에 사용할 수 있습니다. |
수식 추가
Vali는 일반적인 수학식, 상수 또는 함수를 추가하는 방식의 수식을 사용해 계산할 수 있습니다. 수식에는 다른 Vali도 포함될 수 있습니다.
Formula and unit 필드 내에서는 현재 프로젝트 또는 다른 프로젝트에서 사용 가능한 Vali를 참조할 수 있습니다. 이렇게 하려면 필드 안에 $를 입력하세요. 나타나는 팝업에서 필요한 Vali를 찾아 선택합니다.

Vali 호출 – Requirements Portal 어디에서든 달러 기호 $를 사용하면 드롭다운이 열리며, 여기서 참조 가능한 모든 객체(예: Vali, Requirement 등)를 볼 수 있습니다.
다른 프로젝트의 Vali를 사용하려는 경우에는 팝업의 맨 아래로 스크롤하여 show other projects 옵션을 선택하면 됩니다.
일반적인 수식 유형
다음과 같이 할 수 있습니다:
-
42.7kg와 같은 고정값 사용, 또는 -
5/(3+17.3*9)와 같은 수식 사용, 또는 -
$기호를 사용하여 다른 Vali 사용:$car.speed+5.
수식에서 사용할 수 있는 수학 연산은 다음과 같습니다:
-
+,-,*,/ -
%(모듈로 연산) -
^ -
sqrt() -
exp() -
log10(),ln(),log() -
sin(),cos(),tan() -
asin(),acos(),atan() -
sinh(),cosh(),tanh() -
fabs(): 절대값을 반환 -
soc()= "Sum of children": 하위 Block에서 같은 유형의 모든 Vali 합계 -
poc()= "Product of children": 하위 Block에서 같은 유형의 모든 Vali 곱
또한 수식에서 다음 논리 함수를 사용할 수 있습니다:
-
if(condition, formula_if_true, formula_if_false) -
max(formula1, formula2) -
min(formula1, formula2)
Requirements Portal 내장 함수
-
soc(): "sum of children"을 의미하며, 한 단계 아래 Block들에서 같은 유형의 모든 Vali를 합산합니다 -
rssoc(): “root sum squared of children”을 의미하며 sqrt(x1^2+x2^2+⋯+xn^2)입니다. 예를 들어 질량이 2kg, 5kg, 6kg인 세 값이 있으면 rssoc 함수 결과는 8.062257입니다 -
aoc(): "average of children"을 의미하며, 한 단계 아래 Block들에서 같은 유형의 Vali 평균값을 계산합니다 -
poc(): "product of children"을 의미하며, 한 단계 아래 Block들에서 같은 유형의 모든 Vali를 곱합니다 -
average_of_datasets()또는aod(): 해당 Vali에 속한 데이터셋의 각 포인트에 대한 평균값이 Vali의 결과가 됩니다. 데이터셋이 하나뿐이면 그 데이터셋 자체가 결과가 되며 이후 계산에 사용됩니다 -
sum_of_datasets()또는sod(): 해당 Vali에 속한 데이터셋의 각 포인트에 대한 합계가 Vali의 결과가 됩니다. 데이터셋이 하나뿐이면 그 데이터셋 자체가 결과가 되며 이후 계산에 사용됩니다 -
property($vali, property_name): Vali의 속성을 가져옵니다.property_name에 가능한 값은 다음과 같습니다:-
min및max(각각 최소 및 최대 요구사항을 가져옴) -
wc_minus및wc_plus(각각 마이너스 및 플러스 worst case를 가져옴)
-
-
minoc(): children의 최소값. 하위 Block에서 같은 유형의 모든 Vali 중 최소값을 반환합니다 -
maxoc(): children의 최대값. 하위 Block에서 같은 유형의 모든 Vali 중 최대값을 반환합니다 -
round(): 이 함수는 Python's round function의 사양을 따르며, 값은 10의 마이너스 ndigits
제곱 배수 중 가장 가까운 값으로 반올림됩니다
-
$SolarPanel.width * $SolarPanel.length -
max(soc(), $SolarPanel.lowest_mass) -
if($SolarPanel.width*2 > $SolarPanel.length, 10, 5)
수식 예시:
Vali 정보

Vali 정보 – Vali를 클릭하면 추가 정보가 포함된 보기가 열립니다. 여기서 더 많은 속성을 정의하고, 설명을 추가하며, 영향도를 정의할 수 있습니다.
이 보기에서 표시되는 Vali의 기본 정보는 다음과 같습니다:
-
ID – ID는 Backend에서 사용되는 Valiengine이 무작위로 자동 추가하는 숫자입니다.
-
Name – 여기에서 Vali 이름을 입력하고 수정할 수 있습니다.
-
Description – 설명 필드에는 Vali 설명을 입력할 수 있습니다. 아래와 같이 작업을 서식 지정하고 편집할 수도 있습니다.
마진/단위를 추가하거나 변경하고 요구사항(최소/최대)도 추가할 수 있습니다. 요구사항(최소/최대)은 해당 속성에 대해 설정한 한계값입니다.
여기에서 추가/확인할 수 있는 다른 정보로는 References, Using, Used by, 그리고 이 Vali의 Impacts가 있습니다.
Vali 이력
Vali가 직접 또는 간접적으로 변경되면, 그 변경 사항은 Requirements Portal 데이터베이스에 자동으로 저장됩니다. Vali의 History 탭에는 변경 전 값, 변경 후 값, 그리고 값을 변경한 사용자가 표시됩니다. Requirements Portal은 변경된 Vali가 해당 Vali에 직접 참조되지 않은 경우에도 변경 사항을 추적합니다.
Vali 변경 이력을 보려면 Vali 이름을 클릭한 다음 History 탭을 선택하세요. 이 탭에서는 시간에 따른 변경 사항을 보여주는 그래프를 확인할 수 있습니다. 그래프 아래에는 Recent Changes 표가 있으며, Time, Value Before, Value After, Reason 데이터가 채워져 있습니다.

Vali 이력 – History 탭에서는 시간에 따른 Vali 변경 사항을 그래프와 표 형태로 볼 수 있습니다.
변경 알림
특정 Vali가 변경될 때 알림을 받으려면 Actions 열의 점 세 개 버튼을 클릭하고, 열리는 메뉴에서 Add » Subscribe 명령을 선택하여 구독할 수 있습니다.
알림에 대한 자세한 내용은 Notifications 페이지를 참조하세요.
