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()= "자식 합계": 하위 Block에서 같은 유형의 모든 Vali의 합 -
poc()= "자식 곱": 하위 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(): 자식의 최소값. 하위 Block에서 같은 유형의 모든 Vali 중 최소값을 반환합니다 -
maxoc(): 자식의 최대값. 하위 Block에서 같은 유형의 모든 Vali 중 최대값을 반환합니다 -
round(): 이 함수는 Python의 round 함수 사양을 따르며, 값은 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 페이지를 참조하세요.
