The automation of Web service composition (WSC) has emerged as a major research topic since an ever-increasing number of Web services are created and published, which make manually analyzing them and creating the desired composite service difficult, or even beyond human abilities. This paper presented an approach for the automation of WSC at the functional level based on dynamic description logics (DDLs), extensions of description logics (DLs) with a dynamic dimension. By embracing knowledge in actions into DLs, DDLs couple the static information provided by ontologies and the dynamic processing provided by Web services, and offer a uniform way to represent and reason about both static and dynamic aspects of the Web content. Our approach employed classical DL-TBoxes to capture the constraints of the domain, DL-ABoxes to describe the states, and DL-formulas to encode the client requirements respectively. Actions in DDLs were used to abstract the functionalities of the existing Web services which were classified into categories in terms of their functionalities. In such a way, the WSC was reduced to formula satisfiability and solved by a decidable tableau procedure. We also implemented a reasoning engine based on the dynamic description logic D-ALCHOQ, and tested our approach on a simple variation of the travel scenario; the preliminary results certified the potential of the approach.