(271f) Process System Engineering Modeling: A Software Engineering Perspective | AIChE

(271f) Process System Engineering Modeling: A Software Engineering Perspective

Authors 

In Process System Engineering it is frequent to develop Operational Research (OR) models (mathematical models) to solve complex problems of production processes (synthesis, design, planning, scheduling, etc.). Many of these models are performed in companies where the mathematical programs must be linked to enterprise Information Systems (usually ERPs) to get data and return results. Since the problems to solve are complex, the modeler focuses in the mathematical formulation, the algorithms, looking for fast response time and consistency on the behavior; aspects related to software development are missed. Software attributes like usability, maintainability, reliability, security, etc. are disregarded in the models (Henning, 2017) because, in general, they are not considered as a software system.

Software Engineering (SE) is the area that proposed several accepted, tested methods dealing with development and implementation of informatic systems. In the last decade, due to the need of shorter time-to-market and the changing requirements environment, agile methodologies (AM), founded in the Agile Manifesto (Beck et al., 2001) have been proposed, which have been widely accepted in the Software Engineering community.

In this work, it is tackled two issues related to the development and implementation of mathematical models having a large program life cycle. First, guidelines to adapt agile methods to manage math program projects are presented considering that mathematical program interventions, as well as software developments, have common stages and similar information evolution. On the other hand, since it is frequent that OR models must be modified because of new requirements or changes in the targeted problem, a key quality attribute to be considered is maintainability. To cover this attribute, it is proposed a set of simple techniques to include in the models and measures and indicators to check if said qualities have been achieved. These concepts are exclusively developed for OR and are based on international standards in SE, such as ISO/IEC 25010 (ISO/IEC, 2011), and the tactics proposal from the Software Engineering Institute (Bachmann et al., 2007).

Beck, K. et al., 2001. Manifesto for Agile Software Development. [Online] Available at: http://www.agilemanifesto.org/ [Accessed 2018].

Bachmann, F., Bass, L. & Nord, R., 2007. CMU/SEI-2007-TR-002 ESC-TR-2007-002 Modifiability Tactics. Pittsburg, USA: Software Engineering Institute (SEI) Carnegie Mellon University.

Henning G., 2017. ¨Towards a software engineering approach to thedeployment and implementation of scheduling systems¨. Computer Aided Chemical Engineering, 40, pp. 1405-1410

ISO/IEC, 2011. 25010:2011 - Systems and software engineering — Systems and software Quality Requirements and Evaluation (SQuaRE) - System and software quality models. Suiza: International Stardardization Office.

ISO/IEC, 2016. 25023:2016 - Systems and software engineering -- Systems and software Quality Requirements and Evaluation (SQuaRE) -- Measurement of System and Software Product Quality. Technical Committee: ISO/IEC