UCL Centre for Systems Engineering


Systems Modelling


For many companies, the strategic as well as the organisational fit of their development systems is a crucial factor for staying competitive. At the same time, there is an increasing demand for integrating business processes and information systems with those of customers and suppliers. The resulting need for organizational changes and the introduction of corresponding information systems is a challenging task. The complexity of the task requires a separation of concerns. At the same time it causes language barriers between various stakeholders. Systems models provide avenues for various types of abstractions that help with the design of complex systems which are in line with the sponsoring organization and its long term strategy. They also promise to provide a common conceptual foundation to foster the communication among stakeholders and participants with different professional backgrounds.

What are models?

A model uses mathematical language or block diagrams or partial descriptions to describe a system. Models are used not only in the natural sciences and engineering disciplines (such as physics, biology, earth science, meteorology, and engineering) but also in the social sciences (such as economics, psychology, sociology and political science); physicists, engineers, computer scientists, and economists use models most extensively. A model is a representation of the essential aspects of an existing system (or a system to be constructed) which presents knowledge of that system in usable form. Mathematical models can take many forms, including but not limited to dynamical systems, statistical models, differential equations, or game theoretic models. These and other types of models can overlap, with a given model involving a variety of abstract structures. When the structures and parameters in the models are clearly explicit, we have a white-box model. When the structures and parameters in the model are unknown, we have a black-box model.

Model-driven approaches

Employing industry-standard methods and languages, model-driven development provides a visual method of specifying and managing service architectures-introducing formality and propagating automation throughout development of deployable applications. Modeling allows business architects, solution architects and developers to adopt a robust methodology by working at a higher level of abstraction, while applying lifecycle-wide quality assurance techniques through model-based analysis, simulation and automated checking. The higher level of abstraction hides details and allows users to have role-specific views of the intended use cases and functionality. Users can analyze and test the correctness and efficiency of the intended design by simulating it to verify compliance with requirements. A model-driven approach to development allows users to:
‣ Ensure quality and lower costs through continuous error checking and consistency testing at each stage of development from architecture through implementation
‣ Maximize the efficiency of distributed, network-based applications through  understanding both the components and their interfaces
‣ Re-use and redeploy services through architectural reverse-engineering of existing systems, updating legacy services via creation of new interfaces, and improved orchestration among existing components
‣ Simulate and test proposed changes to previously deployed applications before launching updates.

« back to modules