1. A method of building an integrated system using a formal language, the method comprising: designing one or more models for one or more software components to be included in the integrated system, wherein the one or more models describe one or more requirements for the one or more software components; assigning one or more contracts to the one or more models, wherein the one or more contracts are written in the formal language; integrating, by an electronic device, the one or more models based on the composition of the one or more contracts to form an integrated model, wherein the integrated model includes each requirement for the one or more software components which is described by the one or more models which form the integrated model; and analyzing, by the electronic device, the one or more contracts and the integrated model to determine whether the one or more contracts include each requirement described by the integrated model.