Engineering Functional Requirements of Reactive Systems using Synchronous Languages