This Article 
 Bibliographic References 
 Add to: 
Mawl: A Domain-Specific Language for Form-Based Services
May/June 1999 (vol. 25 no. 3)
pp. 334-346

Abstract—A form-based service is one in which the flow of data between service and user is described by a sequence of query/response interactions, or forms. Mawl is a domain-specific language for programming form-based services in a device-independent manner. We focus on Mawl's form abstraction, which is the means for separating service logic from user interface description, and show how this simple abstraction addresses seven issues in service creation, analysis, and maintenance: compile-time guarantees, implementation flexibility, rapid prototyping, testing and validation, support for multiple devices, composition of services, and usage analysis.

[1] D. Atkins and T. Ball et al., “Experience with a Domain Specific Language for Form-Based Services,” Proc. Usenix Conf. Domain Specific Languages, pp. 37–49, Oct. 1997.
[2] D. Atkins, and T. Ball et al., “, Integrated Web and Telephone Service Creation,” Bell Labs Technical J., vol. 2, no. 1, Winter 1997.
[3] C. Allen, WIDL: Application Integration with XML, O'Reilly, 1997.
[4] T. Berners-Lee, “Hypertext Transfer Protocol (HTTP/1.0),” Working Group of the Internet Eng. Task Force, Oct. 1995.
[5] T. Berners-Lee and D. Connolly, “Hypertext Markup Language (HTML 2.0),” Working Group of the Internet Engineering Task Force, Aug. 1995.
[6] T. Bray, J. Paoli, and C.M. Sperberg-McQueen, eds., “Extensible Markup Language (XML) 1.0, 1998.
[7] E.W. Dijkstra, Goto Statement Considered Harmful Comm. ACM, vol. 11, no. 3, pp. 147-148, Mar. 1968.
[8] A.R. Flora-Holmquist, and M.G. Staskauskas, “Formal Validation of Virtual Finite State Machines,” Proc. Workshop Industrial-Strength Formal Specification Techniques (WIFT’95), pp. 122–129, Boca Raton, Fla. Apr. 1995.
[9] P. Godefroid, “Model Checking for Programming Languages Using Verisoft,” Proc. 24th ACM Symp. Principles of Programming Languages, pp. 174–186, Paris, Jan. 1997.
[10] Object Management Group. “The Common Object Request Broker: Architecture and Specification,” Technical Report, edition 2.0 July 1995.
[11] D.G. Korn, “ksh—A Shell Programming Language,” Technical Report, AT&T Bell Laboratories, 1986.
[12] B. W. Kernighan and D. M. Ritchie,The C Programming Language. Englewood Cliffs, NJ: Prentice-Hall, 1988, 2nd ed.
[13] D.A. Ladd and J.C. Ramming, “Programming the Web: An Application-Oriented Language for Hypermedia Service Programming,” Proc. Fourth Int'l World Wide Web Conf., pp. 567–586, World Wide Web Consortium, Dec. 1995.
[14] D.B. McQueen and A. Appel, “Standard ML of New Jersey,” Proc. Third Int'l Symp. Programming Language Implementation and Logic Programming, pp. 1–2, Springer-Verlag, 1991.
[15] D.B. MacQueen, “Using Dependent Types to Express Modular Structure,” Proc. 13th Ann. ACM Symp. Principles Of Programming Languages, pp. 277–286, Jan. 1986.
[16] J. Ousterhout, Tcl and the Tk Toolkit, Addison Wesley Longman, Reading, Mass., 1994.
[17] L.A. Rowe, “Fill-in-the-Form Programming,” Proc. Conf. Very Large Data Bases, pp. 394–404, 1985.
[18] L.A. Rowe and K.A. Shoens, “A Form Application Development System,” Proc. 1982 ACM SIGMOD Conf. Management of Data, pp. 28–38, 1982.
[19] E. Selberg and O. Etzioni, “Multi-Engine Search and Comparison Using the Metacrawler,” Proc. Fourth Int'l World Wide Web Conf., pp. 195–208, World Wide Web Consortium, Dec. 1995.
[20] A. Silberschatz, H.F. Korth, and S. Sudarshan, Database System Concepts. McGraw-Hill, 1997.
[21] R. Srinivasan, “Remote Procedure Call Protocol Specification Version 2,” Technical Report RFC 1831, Sun Microsystems, Aug. 1995.
[22] B. Stroustrup, The C++ Programming Language. Addison-Wesley, 1986.
[23] L. Wall and R.L. Schwartz, Programming PERL. O'Reilly&Assoc., 1990.

Index Terms:
World Wide Web, web services, programming languages, forms, HTML.
David L. Atkins, Thomas Ball, Glenn Bruns, Kenneth Cox, "Mawl: A Domain-Specific Language for Form-Based Services," IEEE Transactions on Software Engineering, vol. 25, no. 3, pp. 334-346, May-June 1999, doi:10.1109/32.798323
Usage of this product signifies your acceptance of the Terms of Use.