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 | 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'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에 대한 더 많은 정보를 볼 수 있습니다. 그러면 Info 탭에 정보가 표시되는 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 페이지를 참조하세요.