2014년 11월 19일 수요일

DSL(Domain Specific Language)

일러스트러티브 프로그래밍

DSL (마틴파울러) 책을 읽다보니 일러스트러티브 프로그래밍이라는 이야기가 나옵니다.

 .
이게 script 짜는것보다 엑셀로 표를 만들어서 보면서 작성하는게 10배는쉽다는 이갸기 입니다.

무언가 자동화를 할때도 완전감춰진채로 자동화 하기보다는 눈으로 볼수있는
중간 결과물로 무언가를 만들어주는게 좋은것 같습니다.

(원본소스) ---> (사람이 볼수있는 무언가) ---> 실행




프로젝티브 프로그래밍

이건 intentional workbench 라는 제품이 있는것 같습니다.
보아하니 새로운 Domain 에 최적화된 언어를 만든는 toolbox 같은데요.
언어의 구조를 객체(object) 에 투영(project) 하면서 설계하는 환경인듯 보입니다.



동영상: 




SoC 에서는 PrimeTime 이라는 tcl 로 최적화된 STA(Static Timing Analysis) 언어가 있는데요. 이건 Timing close 할때 쓰는 언어입니다.

개인적으로는 마음에 들지 않습니다. 너무 자유도가 높은 나머지 결국
SoC 에서 는 STA(Static Timing Analysis) 는 통합시 표준화에 실패하는것이죠.

따라서 회사들은 어떤형태로든 STA 를 DSL 형태로 표현하게 됩니다.
억지로 표준화를 하려하지만 결코 깔끔하지는 않죠.

오히려 Xililx 의 UCF format  이보다 STA domain 에 특화되어있다는 느낌이 있습니다.
여기에는 어떤 자유도도 없기때문에 오히려 통합하기에 유리합니다.

하지만 UPF 도 단점이 있는데, 자유도가 너무 없는 나머지 지원 안되는  clock scheme 이 나오면 적용이 안된다는 단점이 있습니다.

따라서 어쩔수 없이 SoC 업계에서는 PrimeTime tcl 을 사용할수밖에 없는것 가네요.








댓글 없음:

댓글 쓰기