Research fields
Data Engineering
Data are at the core of information systems, so that their engineering fully belongs to Information System Engineering. This discipline aims at developing models, techniques, methods and tools to support the whole data lifecycle according to the most common paradigms, namely future/current/legacy databases, files, paper/electronic documents, ontologies and the web. It copes with standard processes such as database analysis, design and development, but also with other lifecycle processes and non-standard data such as semi-structured and unstructured data, web document as well as transient structured data through workflows. Reengineering and evolution of the data component of information systems in one of the priority of the Data Engineering theme of PReCISE. On the other hand, we analyse the business needs in terms of data management and we assess the opportunities offered by investments in advanced data management tools. This double approach allows us to build the bridge between technical and managerial viewpoints in hot topics as knowledge systems and business intelligence.
- Model and Method engineering
- Database design
- Advanced data engineering and applications
- Data Evolution
- Business data management
- Knowledge systems and business intelligence
- running projects : 9
- running PHDs : 4
- terminated projects : 11
- terminated PHDs : 6
Evolution
Software-intensive systems are among the most complex artefacts ever built: they have to meet constantly changing requirements, they interact with a variety of users and systems, they are composed of many communicating and heterogeneous components, they must be able to adapt quickly to changing technologies, and they often exist in many different variants that live in parallel.
In the development of such systems, the use of rigorous models and analysis methods is essential to make sure that the software satisfies its requirements and exhibits the desired properties (e.g., correctness, safety, security, reliability, consistency). At the same time, in order to adapt to the constantly changing requirements and technology, these systems must be able to evolve over time, without breaking their essential properties.
Our research focuses on the development, integration and extension of state-of-the-art languages, formalisms and techniques for modelling and verifying dependable software systems and supporting the synchronized evolution of these systems and in particular:
- Reengineering
- Software product lines (SPL) maintenance
- Interoperability
- running projects : 5
- running PHDs : 1
- terminated projects : 5
- terminated PHDs : 5
Model-driven Engineering
Model-driven engineering (MDE) aims at defining models, methods, and tools suitable for the precise and efficient representation of, and reasoning about, software-intensive systems. MDE aims to cover the entire lifecycle of a system, according to various dimensions such as system's requirements, functionalities, data, dynamics, dependencies, architecture, and infrastructure. In this respect, models serve for the representation, while manual or automated methods provide guidelines and assistance in the reasoning about the systems.
Models, methods, and tools together form the so-called software factories that aim at supporting the software engineer and other stakeholders of the system over the entire lifecycle, from requirements elicitation to implementation and maintenance. This support facilitates all system-related tasks and decision-making involved in, among others, transformations, verification, import/export, round trip engineering, visualization, cooperation, integration, and versioning.
In addition to the software-centric activities, MDE studies domain specific models or languages best suited for describing human and business activities in a precise and efficient manner. Such models can give rise to domain ontologies that can be used to guide the acquisition of information needed for model construction, and this over all projects in a given application domain.
In MDE, models and methods can be considered as first-class objects that can be studied separately. This reification permits to develop generic tools, methods, and processes. This automation allows engineers to increase the productivity, the quality of the methods, and enable a better understanding of their practice.
Specific topics studied by PReCISE in this area include:
- CASE (Computer Aided Software Engineering) tools
- Transformational approach to data engineering
- Meta-CASE Tools & Meta-Modelling
- Modelling methods and languages
- running projects : 8
- running PHDs : 7
- terminated projects : 17
- terminated PHDs : 4
Quality and Measurement
As an engineering discipline, information systems engineering is the application of systematic, disciplined and quantifiable approaches to the specification, development, operation, and maintenance of information systems. This implies a systematic control of the quality for all the products and processes being involved.
As a management discipline, the management of information systems implies also such a systematic control of the quality for all the products and processes being involved. Moreover, it implies the integration of quality management of information systems within the global quality management process of the organization.
Information Systems quality discipline involves thus four levels of study:
- Quality management: at the business level, we adopt a customer-centric approach. Quality criteria are defined on the basis of customers' specification limits. Control of those criteria is performed in order to guarantee the stability of business processes. When processes are stable, opportunities of improvement can be studied through typical quality tools: Pareto analysis, cause-effect diagrams, why-why analysis, etc.
- Software Process: the software process is to be considered as part of a global view involving all the enterprise's processes. At the software process level, we are interested in adapting classical software process quality models (CMMi-like) to different particular contexts of use: small businesses, agile development and free software development.
- Software Product: at the software product level, we are investigating topics related to our view of information systems as a complex product involving interrelated models at different abstraction levels. This concerns the following aspects:
the quality of models; the quality of data intensive systems; the quality of component based systems with a focus on certification issues; the measurement.
- running projects : 4
- running PHDs : 1
- terminated projects : 10
- terminated PHDs : 2
Requirements Engineering and Business-IT Alignment
Requirements Engineering (ReqEng) denotes the set of activities concerned with identifying and communicating the purpose of an information system, and the contexts in which it will be used. ReqEng acts as the bridge between the real world needs of users, customers and other stakeholders, and the capabilities of information technology (IT). Its main outcome is the requirements document that guides the work of developers. ReqEng is widely considered as the most crucial task during software engineering (SE).
Business IT-Alignment (BIA) is the set of activities ensuring that an organisation's investments in, and usage of IT is consistent with its business strategy and effectively serves the organization's business strategic objectives. This alignment requires that the IT infrastructure and applications are defined and implemented by taking into account the business strategy, but it also views IT as a support to define and enable new business models and innovate at the business level. IT subsumes software, hardware and all other necessary information infrastructure in the broad sense (including e.g. management of IT capabilities and IT services).
Both ReqEng and BIA rely on the premise that IT is valuable only to the extent that it enables an organization to meet its goals cost-effectively, in time, and while assuming an acceptable level of risk.
ReqEng and BIA research seeks to elaborate and evaluate techniques that help identify, visualize, document, analyse, retrieve, and reason on, organizational requirements so as to guarantee an adequate realization through IT. Support for prioritization, negotiation and risk management is also a major concern. Among the main current challenges of ReqEng and BIA are (i) the complexity and heterogeneity of today's organizations and information systems, (ii) the accelerating pace of organizational change, (iii) the increasingly pervasive and changing technology, and (iv) dealing with fuzzy and conflicting information.
- running projects : 7
- running PHDs : 4
- terminated projects : 20
- terminated PHDs : 9
Service Engineering
Achieving increased automation requires open, distributed, service-oriented systems capable of multi-criteria driven, dynamic adaptation for appropriate response to changing operating conditions. A service is a self-describing and self-contained modular application designed to execute a well-delimited task, and that can be described, published, located, and invoked over a network. Services are offered by service providers, that is, organizations that ensure service implementations, advertise service descriptions, and provide related technical and business support.
To interact with the service-oriented system, stakeholders submit service requests. Satisfying a service request usually involves service composition, that is, the identification of appropriate services and their coordinated execution. Responsibility for service composition can either be delegated to humans or autonomous agents. Service-orientation is an attractive approach to the engineering of complex information systems for several reasons, including the fact that services are designed to be modular and interoperable, that open service-oriented systems are designed to accept entry and participation of previously unknown services, that services can be designed as interfaces to legacy systems, etc. Overall, service-oriented architectures increasingly enable organizations to make their information technology infrastructures (IT) flexible, facilitating for instance IT change management and IT outsourcing.
Engineering service-oriented systems efficiently is a critical concern at present both in research and industry. PReCISE is actively involved in several key topics in service-oriented research:
- Requirements engineering for service-oriented systems
- Architectures for enabling adaptable and open service-oriented systems
- Governance of service-oriented systems
- running projects : 4
- running PHDs : 2
- terminated projects : 3
