Valis 및 계산
Vali는 계산과 문서화에 사용할 수 있는 Block, Requirement 또는 Analysis의 설계 파라미터입니다. Vali는 수치 값을 가지며, 타입, 단위, 수식, 설명, 최소/최대 요구사항과 같은 추가 정보도 포함합니다.
Vali 생성
Block에서 Vali를 생성하려면 먼저 화면 오른쪽 아래의 “+” 기호를 클릭합니다. 그런 다음 이름(임의의 이름 또는 Valitype 이름 - 1), 수식과 단위(필수 - 2), 표시 단위(선택 - 3)를 입력한 뒤 “Create” 또는 “Create & add New”를 클릭합니다(그림 Adding a Vali 참조). 단위와 단위 변환에 대한 안내는 Units and Automatic Unit Conversion을 참조하세요.
또한 이 Vali를 어떤 Block에 추가할지 선택할 수 있습니다(4).
Pro-tip: Formula and Unit 필드에서 “\“를 입력하면 가능한 계산 유형 목록이 표시됩니다.
Vali 추가 - 다양한 유형의 Vali를 추가하는 팝업 창.
속성을 생성하는 동안 사용자는 일반 Vali, Matrix, Text Vali, DateVali 또는 Dataset 등 다양한 Vali를 만들 수 있습니다.
Type |
Use-case |
|---|---|
Vali |
하나의 단일 값만 가지는 Block의 속성입니다. 예: 질량, 비용, 밀도 등. ![]() |
Matrix |
Matrix는 행과 열로 정렬된 개별 Vali들의 그룹입니다. Matrix Vali는 Block의 속성이 서로 다른 모드를 가질 때 일반적으로 사용됩니다. 예: 서로 다른 모드에서의 전력 소비, 서로 다른 축에서의 관성값. ![]() |
Text Vali |
문자열/텍스트를 저장하는 Vali입니다. 예: ![]() |
DateVali |
날짜 정보를 저장하는 Vali입니다. 예: ![]() |
Dataset |
여기서 사용자는 데이터셋 값을 가져오거나 추가하고, 그래프를 생성하며, 다른 값의 계산에 해당 값을 사용할 수 있습니다. |
수식 추가
Vali는 일반적인 수학 표현식을 사용하거나 상수 또는 함수를 추가하는 수식으로 계산할 수 있습니다. 수식에는 다른 Vali도 포함될 수 있습니다.
Formula and Unit 필드 내에서 사용자는 프로젝트 내에 있거나 다른 프로젝트에 있는 Vali를 참조할 수 있습니다. 이를 위해 “Formula and Unit”으로 이동해 “$”, 를 입력하면 Vali가 포함된 작은 대화 상자가 열립니다(그림 Calling Valis 참조). 사용자는 키워드를 입력해 원하는 Vali를 쉽게 찾을 수 있습니다.
Vali 호출 - Requirements & Systems 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 & Systems 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()oraod(): Vali의 결과는 해당 Vali에 속한 데이터셋의 각 포인트에 대한 평균값입니다. 데이터셋이 하나뿐이면 그 데이터셋이 결과가 되며 이후 계산에 사용됩니다. -
sum_of_datasets()orsod(): Vali의 결과는 해당 Vali에 속한 데이터셋의 각 포인트에 대한 합계입니다. 데이터셋이 하나뿐이면 그 데이터셋이 결과가 되며 이후 계산에 사용됩니다. -
property($vali, property_name): Vali의 속성을 가져옵니다. property_name으로 가능한 값은 다음과 같습니다:-
min
-
max (각각 최소 및 최대 요구사항을 가져옴)
-
wc_minus
-
wc_plus (각각 마이너스 및 플러스 worst case를 가져옴)
-
-
minoc(): 하위 항목의 최소값. 하위 Block에서 동일한 유형의 모든 Vali 중 최소값을 반환합니다. -
maxoc(): 하위 항목의 최대값. 하위 Block에서 동일한 유형의 모든 Vali 중 최대값을 반환합니다. -
round(): 내장된 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 Information
Vali 이름을 클릭하면 해당 Vali에 대한 더 많은 정보를 볼 수 있습니다. 그러면 상세 보기 (1)가 열리고, 사용자는 (2) 정보를 확인할 수 있습니다. 자세한 내용은 그림 Vali Information 를 참조하세요.
Vali 정보 - Vali를 클릭하면 추가 정보가 담긴 창이 열립니다. 여기서 더 많은 속성을 정의하고, 설명을 추가하며, 영향도를 정의할 수 있습니다.정보 탭에서 사용자는 마진/단위를 추가 또는 변경하고 요구사항(min/max)도 추가할 수 있습니다. 요구사항(min/max)은 해당 속성에 대해 설정한 한계값입니다. 값 또는 worst-case가 증가하거나 감소하여 요구사항의 한계를 초과하거나 그 아래로 떨어지면, Requirements & Systems Portal은 Vali 이름 옆에 경고를 표시합니다. 자세한 내용은 Warnings 섹션을 참조하세요.
Vali 속성에 표시되는 총 마진은 해당 Block의 마진과 하위 Block의 누적 총 마진을 합한 값입니다. 마진에 대한 자세한 내용은 Margins 도움말 페이지를 참조하세요.
ID: ID는 Backend에서 사용되는 Valiengine이 무작위로 자동 추가하는 숫자입니다. Rest API의 검색 필드에 Vali의 ID를 입력하여 해당 Vali를 찾을 수 있습니다. 자세한 내용은 Rest API 문서를 참조하세요.
Name: 여기에서 Vali의 이름을 입력하고 수정할 수 있습니다.
Description: 설명 필드에는 Vali에 대한 설명을 입력할 수 있습니다. 아래와 같이 작업을 서식 지정하고 편집할 수도 있습니다.
여기에서 추가/확인할 수 있는 다른 정보로는 References, Using, Used by, 그리고 이 Vali의 Impacts가 있습니다.
Vali 이력
Vali가 직접 또는 간접적으로 변경되면, 그 변경 사항은 Requirements & Systems Portal의 데이터베이스에 자동으로 저장됩니다. Vali의 History 탭에는 변경 전 값, 변경 후 값, 그리고 누가 값을 변경했는지가 표시됩니다. Requirements & Systems Portal은 변경된 Vali가 해당 Vali에 직접 참조되지 않은 경우에도 변경 사항을 기록합니다.
Vali 변경 이력을 보려면(그림 Vali History 참조), Vali 이름 (1)을 클릭하면 상세 탭이 열립니다 (2). “History” 아이콘 (2) 을 선택하면, 아래에서 시간에 따른 변경 사항을 보여주는 그래프를 확인할 수 있습니다. “Recent Changes” (3)에서는 ‘Time’, ‘Value before’, ‘Value after’, ‘Reason’ 데이터가 채워진 표를 볼 수 있습니다.
Vali 이력 - History 탭에서는 시간에 따른 Vali 변경 사항을 그래프와 표 형태로 보여줍니다.변경 알림
특정 Vali가 변경될 때 알림을 받으려면, Vali의 Action 버튼 드롭다운에서 Subscribe를 클릭해 구독할 수 있습니다. 방법은 그림 Subscribing to a Vali를 확인하세요.
Vali 구독 - Vali를 구독하면 해당 Vali가 변경될 때 Notification 탭(오른쪽 상단의 종 모양 아이콘)에 자동 알림이 표시됩니다.구독 중인 값이 누군가에 의해 변경되면 오른쪽 상단의 알림 벨에 새 알림이 표시됩니다 (4). 그런 다음 벨 아이콘을 클릭해 알림을 확인할 수 있습니다.



