A Design and Implementation of WML Compiler for WAP Gateway for Wireless Internet Services

무선 인터넷 서비스를 위한 WAP 게이트웨이용 WML 컴파일러의 설계 및 구현

  • 최은정 (한국전자통신연구원) ;
  • 한동원 (한국전자통신연구원 휴대클라이언트연구팀) ;
  • 임경식 (경북대학교 컴퓨터과학과)
  • Published : 2001.04.01

Abstract

In this paper, we describe a design and implementation of the Wireless Markup Language(WML) compiler to deploy wireless Internet services effectively. The WML compiler translates textual WML decks into binary ones in order to reduce the traffic on wireless links that have relatively low bandwidth to wireline links and mitigate the processing overhead of WML decks on, wireless terminals that have relatively low processing power to fixed workstations. In addition, it takes over the overhead of eXtensible Markup Language(XML) well-formedness and validation processes. The WML compiler consists of the lexical analyzer and parser modules. The granunar for the WML parser module is LALR(1) context-free grammar that is designed based on XML 1.0 and WML 1.2 DTD(Document Type Definition) with the consideration of the Wireless Application Protocol Binary XML grammar. The grammar description is converted into a C program to parse that grammar by using parser generator. Even though the tags in WML will be extended or WML DTD will be upgraded, this approach has the advantage of flexibility because the program is generated by modifying just the changed parts. We have verified the functionality of the WML compiler by using a WML decompiler in the public domain and by using the Nokia WAP Toolkit as a WAP client. To measurethe compressibility gain of the WML compiler, we have tested a large number of textual WML decks and obtained a maximum 85 %. As the effect of compression is reduced when the portion of general textual strings increases relative to one of the tags and attributes in a WML deck, an extended encoding method might be needed for specific applications such as compiling of the WML decks to which the Hyper Text Markup Language document is translated dynamically.

무선 마크업 언어(Wireless Markup Language) 컴파일러는 텍스트로 구성된 문서를 바이너리 문서로 변환, 압축함으로써, 낮은 대역폭을 갖는 무선 선로에서 트래픽을 감소시키며, 낮은 성능을 갖고 있는 이동 단말기에서 브라우징 처리를 간단하게 하는 역할을 한다. 또한 이러한 변환 과정에서 확장 마크업 언어(eXtensible Markup Language)의 well-formedness와 validation 과정을 동시에 처리함으로써, 이동 단말기에서 문서처리 부담을 대폭 경감하는 효과를 가져온다. 본 논문에서 구현한 무선 마크업 언어 컴파일러는 어휘분석기 모듈과 파서 모듈로 구성되어 있는데, 파서 모듈은 파서 생성기를 사용하여 구현하였다. 이는 향후 응용 수준에서 보안 기능을 제공하기 위하여 태그를 확장하거나 무선 마크업 언어의 버전이 업그레이드 될 때에서 변경된 부분에 해당하는 문법만 다시 설계함을써 유연하게 대처할 수 있는 장점을 가지고 있다. 사용된 문법은 LALR(1) context-free 문법으로서, 확장 마크업 언어 1.0과 무선 마크업 언어 1.2의 문서 형태 정의(Document Type Definition)를 기반으로 무선 응용 프로토콜 바이너리 확장 마크업 언어(Wireless Application Protocol Binary XML) 문법을 고려하여 설계되었다. 구현된 컴파일러의 기능을 실험하여 데모하기 위하여 세 가지 방법(수작업, WML 디컴파일러, 노키아 WAP 툴킷)을 사용하였으며, 다양한 태그 조합을 갖는 임의의 130여 개 문서에 대해 실험한 결과, 최대 85%의 압축효과를 얻을 수 있었다. 그러나, 태그나 속성에 비해 일반 문자열 데이타가 많아지면 상대적으로 압축효과가 감소되므로, Hyper Text Markup Language 문서로부터 무선 마크업 언어 문서로 자동 변환된 텍스트를 인코딩하는 경우와 같이 특정한 응용 분야에서는 일반 문자열에 대한 확장 인코딩 기법을 적용할 필요가 있을 수 있다.

Keywords

References

  1. 'Wireless Application Protocol Architecture Specification,' WAF Forum, 30- April-1998. URL:http://www.wapforum.org/
  2. 'Wireless Markup Language,' WAP Forum, 30-April-1998. URL:http://www.wapforum.org/
  3. 'WAF Binary XML Content Format,' WAF Forum, 30-April-1998. URL:http://www.wapforum.org/
  4. 'Extensible Markup Language (XML), W3C Recommendation 10-February-1998, REC-xml-19980210,' Tim Bray, et al., February 10, 1998. URL:http://www.w3.org/TR/REC-xml
  5. 'Wireless Application Environment Specification,' WAF Forum, 30-April-1998. URL:http://www.wapforum.org/
  6. 'wml-tools v0.0.4,' wml-tools, 31-January-2000. URL:http://pwot.co.uk/wml/
  7. 'Hypertext Transfer Protocol - HTTP/1.1,' R. Fielding, et al., January 1997. URL: http://www.ietf.org/rfc/rfc2068.txt
  8. 'Uniform Resource Identifiers (URI): Generic Syntax,' T. Berners-Lee, et al., August 1998. URL: http://www.ietf.org/rfc/rfc2396.txt
  9. 'Kannel: Open Source WAP and SMS gateway,' WapIT Ltd., June-1999. URL:http://www.kannel.org/
  10. Charles Donnelly, Richard Stallman, 'Bison: The YACC-compatible Parser Generator,' Free Software Foundation, Inc., 1995. URL:http://www.gnu.org/
  11. 'Nokia WAF Tookit Version 2.0,' Nokia, URL:http://www.nokia.com/
  12. 'UP.SDK4.0,' Phone.com Inc., 1999. URL:http://www.phone.com/
  13. Alex Ceponkus, Faraz Hoodbhoy, Applied XML, p.17, Wiley, New York, 1999
  14. 'UTF-8, a transformation format of Unicode and ISO 10646,' F. Yergeau, October 1996, URL: http://www.ietf.org/rfc/rfc2044.txt
  15. Kenneth C. Louden, Compiler construction: Principles and practice, PWS Publishing Company, Boston, 1997
  16. Vern Paxson, 'Flex, version 2.5: A fast scanner generator,' Free Software Foundation, Inc., 1995. URL:http://www.gnu.org/
  17. 김기조, 최윤석, 최은정, 임경식, '무선 응용 프로토콜 기술', 한국정보처리학회지 제7권 제3호, pp.44-56, 2000년 5월
  18. 임경식, '무선 응용 프로토콜 게이트웨이 구현 기술', KRNET'2000, 발표자료집, pp. 184-188, 2000년 6월
  19. Ojanen E, Veijalainen J, 'Compressibility of WML and WMLScript byte code: Initial results,' Proceedings Tenth International Workshop on Research Issues in Data Engineering. RIDE 2000. IEEE Comput. Soc 2000, pp. 55-62, 2000 https://doi.org/10.1109/RIDE.2000.836500
  20. 'WML Examples,' WebCab.de, URL:http://webcab.de/
  21. 'Wireless Session Protocol,' WAP Forum, 5-November-1999. URL: http://www.wapforum.org/
  22. 최은정, 임경식, '무선 인터넷 서비스를 위한 WAP 게이트웨이용 바이너리 WML 인코더의 구현,' 제10회 통신 정보 합동 학술대회(JCCI 2000) 발표논문집, pp.863-866, 2000년 5월