During the last years, the Complex Systems (CoSy) research group acquired a considerable experience in the area of analysis, design, functional and non-functional requirements verification (also formal by mathematical tools), developing and validation of software systems of high complexity (distributed, mobile, real-time, efficient, secure and embedded). The main areas are:
Formal and semi-formal methods for specification and verification of software systems
To the end of guarantee quality requirements as reliability and correctness it is necessary to adopt formal languages and notations during the life cycle of software development. Formal methods and techniques allow to reduce, or even eliminate, ambiguities of the natural language descriptions. The use of these techniques supports also a software specification at different levels of abstractions and provides theories to verify correctness of such specifications
Workflow and middleware to support flexible workflow engine
Processes and applications are more often modelled by workflows, defined starting from elementary activities successively combined by coordination operators. Workflows can be executed by specific “middleware”; software whose design and implementation are very difficult, since attributes like security, efficiency, mobility and fault tolerance etc. must be supported.
Theories and methodologies of workflow design are studied in such a context. Innovative paradigms based on “agents” i.e. software tools able to autonomously and proactively take decisions in a dynamic environment. The agent technology has been used to successfully develop complex systems. Therefore it appears to be promising to support the workflow execution. Preliminary results have been obtained on bioinformatics, biomedicine, industrial automation and e-government.
Embedded and real-time systems
The miniaturization of integrated circuits brought a meaningful revising of techniques and methodologies for designing informatics systems. The resulting systems are now present into mobile phones, cameras, security systems, domestic appliances, cars, planes etc. equipped with a few computational power.
The modelling and development of embedded and
real-time systems are very difficult. Techniques and methodologies commonly
used to develop software are not suitable. Theories for software design and
verification are studied. A promising approach is based on UML modelling
language and specification languages based on process algebras.
Computational Systems Biology
Recently, a collective effort from multiple research areas has been made to understand biological systems at the system level. The term systems biology is typically used to indicate the attempt to integrate the huge and multiform amount of biological data in order to understand the behaviour of biological systems and to study the relationships and interactions between the various parts of a biological system.
The modelling and simulation of biological systems are very important both for diseases diagnosis and personalized medicine and discover of new drugs. Semiformal and formal methods used to specified the systems behaviour at molecular level is considered to be essential for a simulation and modelling environment.