Programming industrial robots for small-sized batch production of assembly operations is challenging due to the difficulty of precisely specifying general yet robust assembly operations. We observe that as the complexity of assembly increases, so does the likelihood of errors. We propose that certain classes of errors during assembly operations can be addressed using reverse execution, allowing the robot to temporarily back out of an erroneous situation, after which the assembly operation can be automatically retried. Moreover, reversibility can be used to automatically derive a disassembly sequence from a given assembly sequence, or vice versa. This paper presents the initial design of the RASQ domain-specific language (DSL) for specifying such assembly sequences, based on initial experiments using an industrial case study. The language is defined in terms of a formal semantics corresponding to a realistic execution model currently under implementation. The DSL is used as part of a software framework that aims at tackling uncertainties through a combination of reverse and probabilistic execution.