Domain Specific Languages in a Customs Information System This paper presents a case study in applying the domain-specific languages (DSL) approach for building a configurable customs information system, namely the Customs Engine. The Customs Engine consists of several subsystems built on top of a componentized platform. Each component of the platform is divided into two layers: a formal specification of the component written in a DSL specific to that component, and an implementation of the DSL in question. The use of DSLs allowed us to follow a highly iterative and reuse-oriented development method. Our analysts benefited from the ability to specify the behaviour of the system directly, instead of relaying this information to programmers using lengthy human-language documentation. However, we encountered problems when trying to enable non-technical domain experts to write or modify DSL programs by themselves.