Abstract:This paper aims at deriving software specification descriptions from elicited user requirements and domain descriptions. It provides an approach to transforming user requirements into software specifications in a smooth and logical way. Based on previous in-depth research on Problem Frames, the study adopts Hoare's Communicating Sequential Processes (CSP) and Lai's weakest-environment calculus to transform an entire problem diagram. The derived software specifications are abstract models resembling program code, whose correctness can be verified by the model checker FDR. This paper provides foundational work for embedded software development, i.e., deriving software code from requirements descriptions, automating document transformation and validation, etc. The theory presented in this paper, together with the FDR model checker tool, may help to improve the efficiency and accuracy in embedded software development.