로제타랑

Rosetta-lang

컴퓨팅에서 Rosetta 시스템 레벨 사양 언어는 복잡한 이기종 시스템을 위한 설계 언어입니다.구체적인 언어 설계 목표는 다음과 같습니다.

Rosetta는 여러 차례 표준화를 거치고 있었다.

역사

Rosetta의 노력은 1996년 반도체 산업 평의회 시스템 레벨 설계 언어 위원회 회의에서 나타났다.회의의 목적은 VHDL 및 Verilog같은 기존 언어의 인식된 단점에 대처하는 차세대 설계 언어에 대한 요구사항을 정의하는 것이었습니다.특정 우려 사항으로는 제약 조건을 나타낼 수 없음, 공식 의미론의 결여, 이종 시스템을 나타낼 수 없음, 분석을 위한 컴퓨터 시뮬레이션에 대한 의존도가 매우 높았다.이러한 요구사항에 대응하여 다음과 같은 세 가지 주요 접근법을 추구하였다.

  1. VHDL 및 Verilog 등의 하드웨어 기술 언어 확장
  2. C 및 C++를 포함한 프로그래밍 언어 확장
  3. 새로운 언어의 정의

첫 번째 접근방식은 궁극적으로 SystemVerilog와 VHDL로 확장되는 결과를 낳았고, 두 번째 접근방식은 SystemC로 이어졌으며, 이는 모두 반도체 업계전기전자공학협회(IEEE) 표준이 되었습니다.Rosetta의 원래 애플리케이션 도메인은 칩 반도체 [1]시스템상의 시스템이었다.

Rosetta는 반도체 산업 평의회와 공군 연구소의 후원으로 개발을 시작한 세 번째 접근방식에서 비롯되었습니다.원래는 Perry Alexander와 캔자스 대학의 다른 사람들에 의해 개발되었으며, 단순히 시스템 수준 설계 [2]언어로 알려져 있습니다.표준화는 2000년까지 VHDL International로 이전되었으며, 규격의 이기종 특성을 반영하여 Rosetta(Rosetta Stone의 이름을 따서)로 이름이 변경되었습니다.결국 VHDL International과 Open Verilog Initiative는 합병하여 업계에서 후원하는 전자 설계 자동화(EDA) 표준 컨소시엄인 Accellera를 결성했습니다.Rosetta의 초안 표준은 [3]Accellera를 통해 2003년 11월에 발표되었다.표준화는 IEEE Design Automation Standards Committee(DASC; IEEE 설계 자동화 표준 위원회)로 넘어갔고, 2007년 [4][5]3월부터는 IEEE 프로젝트 P1699에 따라 Rosetta Working Group에 의해 개발되었습니다.2008년 4월 호주의 [6]피터 애센든 편집자와 함께 언어 참조 매뉴얼 초안이 발행되었습니다.이 프로젝트는 2013년 [7]6월에 철회되었다.

구조.

Rosetta는 다양한 사양 요소의 정의를 지원하는 3개의 하위 언어를 중심으로 구성되어 있습니다.표현 언어는 사양에서 용어 및 값으로 사용되는 기본 함수 및 표현식을 정의합니다.표현 언어는 엄격하지 않고 순수하게 기능하는 해스켈 정신의 타이핑 언어입니다.함수는 참조적으로 투명하고 캡슐화된 표현식이며 부작용이 있을 수 없습니다.모든 Rosetta 식에는 정적으로 결정되는 유형이 있습니다.유형 시스템은 리프팅된 집합을 기반으로 하며, 각 유형에는 최소 맨 아래 값 또는 정의되지 않은 값이 포함됩니다.모든 집합을 사용하여 유형을 정의할 수 있으며 집합을 반환하는 함수를 사용하여 이전 유형을 정의할 수 있습니다.유형 정의에는 일반적인 Rosetta 식을 포함할 수 있으므로 유형 시스템은 종속적입니다.

패싯 언어는 시스템을 정의하기 위한 개별 사양 및 사양 구성을 정의합니다.패싯과 컴포넌트하나의 엔지니어링 관점에서 시스템 모델을 정의합니다.각 패싯은 모델에 대한 어휘와 의미론을 제공하는 도메인을 확장하여 작성됩니다.패싯은 항목을 선언하고 해당 항목의 속성을 정의함으로써 정의됩니다.따라서 Rosetta는 선언적 언어이며, 일부 측면은 평가할 수 있지만, 구성 요소가 값으로 평가된다는 보장은 할 수 없습니다.패싯은 도메인이 제공하는 설계 추상화를 사용하여 시스템의 요건, 동작, 제약 또는 기능을 기술합니다.패싯은 이종이며 사전 정의된 도메인 또는 사용자 정의 도메인을 사용하여 정의할 수 있습니다.로제타 의미론은 연산 모델을 정의하는 연산의 각 측면을 나타냅니다.Rosetta는 반사성이 있기 때문에 패싯을 구성 및 변환하여 복잡한 시스템을 정의할 수 있습니다.일반적인 사양 기법은 시스템의 다른 측면에 대한 패싯을 작성한 후 곱과 합계 연산을 사용하여 이들 패싯을 구성함으로써 전체 시스템을 정의하는 것입니다.

도메인 언어는 사양 유형으로 알려진 사양 도메인을 정의합니다.도메인의 집합은 빈 도메인 또는 늘 도메인을 상위 요소로 하고 일관되지 않은 도메인 또는 하위 도메인을 하위 요소로 하는 동형사상에 의해 정렬된 완전한 격자를 형성합니다.세 가지 주요 도메인 유형이 있습니다.Units-of-Semantics 도메인은 사양의 기본 단위를 정의합니다.예를 들어 state_based 도메인은 값이나 속성을 제약하지 않고 상태와 다음 상태의 개념을 정의합니다.계산 모델 도메인은 유한 상태, 연속 시간, 이산 시간 빈도와 같은 일반적인 계산 모델을 정의하기 위해 의미 단위 도메인을 확장합니다.엔지니어링 도메인은 컴퓨팅 모델 도메인을 확장하여 특정 엔지니어링 도메인에 대한 사양 기능을 제공합니다.

초기부터 Rosetta는 유압 및 기계 시스템, 네트워킹 시스템, 보안 및 신뢰, 소프트웨어 정의 무선 등의 설계 영역을 확장했습니다.

추가 정보

Rosetta는 엄격하지 않은 순수 기능성 언어 Haskell, Larch 계열 사양 언어 및 PVS(Prototype Verification System)의 영향을 많이 받았습니다.2006년 [8]11월에 그 언어에 관한 책이 출판되었다.

레퍼런스

  1. ^ Perry Alexander and David Barton (June 2000). "Rosetta provides support for system-level design". EE Times. Archived from the original on August 16, 2000. Retrieved October 7, 2013.{{cite news}}: CS1 maint: 작성자 파라미터 사용(링크)
  2. ^ "About SLDL and Rosetta". Original web site. University of Kansas. Archived from the original on March 18, 2004. Retrieved October 7, 2013.
  3. ^ David Maliniak (November 10, 2003). "Rosetta Design Language On Road To Standardization". Electronic Design. Retrieved October 7, 2013.
  4. ^ "Rosetta WG - Rosetta Systems Level Design Language Working Group". IEEE Standards Association. Retrieved October 7, 2013.
  5. ^ Sherry Hampton (March 22, 2007). "P1699 - Standard for the Rosetta Systems Level Design Language Definition" (PDF). Project approval letter. IEEE Standards Association. Retrieved October 7, 2013.
  6. ^ "P1699 Rosetta LRM subcommittee". April 22, 2008. Archived from the original on June 10, 2015. Retrieved October 7, 2013.
  7. ^ "Standards Board New Standards Committee (NesCom) Recommendations" (PDF). IEEE Standards Association. June 14, 2013. Retrieved October 7, 2013.
  8. ^ Perry Alexander (2006). System Level Design with Rosetta. Morgan Kaufmann. ISBN 978-1-55860-771-2.

외부 링크