Found an issue with the book? Report it on Github.

커넥터 정의(Connector Definitions)

커넥터 정의(Connector Definitions)

문법(Syntax)

이미 여러 번 보았듯이 모델리카 정의는 상당히 구문에서의 유사성을 보이고 있습니다.이것은 connector 정의에서도 마찬가지입니다.

커넥터 정의의 일반 적인 구문은 다음과 같습니다.

connector ConnectorName "Description of the connector"
  // Declarations for connector variables
end ConnectorName;

model 이나 function 과 달리 connector 는 어떤 동작도 포함할 수 없습니다.따라서 connector 에는 equation 또는 algorithm 섹션이 있을 수 없습니다.

변수(Variables)

인과적인 변수(Causal Variables)

블록 커넥터(Block Connectors) 에 대한 이전 논의에서 모델리카 connector 정의 내의 변수가 인과 관계를 가질 수 있음을 알았습니다. 인과적인 변수로 사용하기 위해 신호가 외부에서 계산될 것으로 예상되는 경우 변수에는 이와 관련된 input 한정자가 있어야 하고,반면에 신호가 내부적으로 계산된 다음 다른 구성 요소로 전송될 것으로 예상되는 경우 이와 관련된 output 한정자가 있어야 합니다.

비인과적 변수(Acausal Variables)

간단한 영역(Simple Domains)유체 커넥터(Fluid Connectors) 에 대한 논의에서 통과 및 교차변수를 포함하는 connector 정의의 수많은 예를 보았습니다.항상 flow 한정자가 접두사로 붙는 통과변수와 함께 쌍을 이루는 교차변수에는 관련된 한정자가 없었습니다.

다음 장에서 살펴보겠지만 이러한 커넥터 정의는 모델리카 컴파일러가 구성 요소 네트워크에 대한 보존 방정식을 자동으로 생성할 수 있게 해주기 때문에물리적 시스템을 모델링할 때 매우 편리합니다. 또한 질량, 운동량, 에너지, 전하, 종 등과 같은 양이 네트워크를 통해 양방향으로 흐르도록 합니다.

파라미터(Parameters)

connector 정의의 변수는 관련된 parameter 한정자를 가질 수도 있습니다. 이 한정자는 파라미터에 대해 처음 논의했을 때 의미했던 것과 같은 것을 의미합니다.*즉,* 변수의 값은 시뮬레이션 중에 변경될 수 없습니다.``parameter`` 변수는 커넥터에 포함된 배열의 크기를 나타내기 위해 커넥터 정의에서 자주 사용합니다.

끝 맺음 말(Final Remarks)

connector 정의는 동일한 커넥터에서 인과관계, 비인과관계 및 파라미터 변수를 모두 혼합할 수 있다는 점을 기억해야 합니다. 실제로 커넥터의 변수는 그 자체로 커넥터가 될 수 있습니다. 모델리카의 이러한 풍부한 표현력을 통해 사용자는 다양한 자료형의 상호 작용을 모델링하고, 각 잠재적 상호 작용에 가장 적합한 의미 체계를 변수별로 선택할 수 있습니다.