Embedded Software Design & Development

One of the main features of the digital age is the increasingly widespread and important role of software in managing and controlling complex systems, safety-related and otherwise.

While the software is required to perform increasingly complex functions, it is essential that it meets increasingly challenging quality and security standards.

It is therefore vital to design and develop reliable and efficient software, while guaranteeing high security standards.

This can be done by adopting structured, rigorous and systematic design and development approaches, indispensable for developing both embedded safety-critical systems and non-safety-critical systems, through SCADA applications, to provide monitoring, diagnostics and support to maintain concentrated, distributed and networked systems.

All this involves defining the software requirements specifications, designing functional, architectural and interface models, up to thedevelopment and release of the tested and validated software product in accordance with the applicable product standards.


Services provided

  • Definition of software requirements for safety-critical systems
  • Definition of software architecture for safety-critical systems
  • Software development
  • Definition of functional and architectural requirements specifications for safety-critical systems
  • Definition of interface specifications for internal and external communication in safety-critical systems
  • Definition of algorithms for safety-critical systems
  • Design of domain models for safety-critical systems
  • Functional requirements specifications for SCADA systems
  • Architecture specifications for SCADA systems
  • Design and development of products on SCADA applications
  • Design and development of software modules to be integrated into products for SCADA applications
  • Integration of software modules into products for SCADA applications
  • Design and development of human-machine interfaces for system diagnostics products


  • Waterfall model for analysing and managing requirements and designing and developing system software
  • Agile methodology for managing requirements and developing, testing and distributing system software
  • Model-Based Engineering for defining data and behavioural models for systems


  • Microsoft Visual Studio
  • Azure DevOps
  • Matlab/Simulink
  • Enterprise Architect
  • Microsoft SQL Server
  • MatrikonOPC Explorer
  • Virtual Box
  • Hyper-V
  • iReasoning MIB Browser
  • Modbus PLC Simulator
  • Wireshark
  • Depends Walker

Reference standards

EN50128, MISRA C, Agile Manifesto