ORIGINAL RESEARCH Toward integrating systems engineering with software engineering through Object-Process Programming Ahmad Jbara 1,2,3 • Arieh Bibliowicz 1,4 • Niva Wengrowicz 1 • Natali Levi 1 • Dov Dori 1,5 Received: 31 October 2019 / Accepted: 23 May 2020 Ó Bharati Vidyapeeth’s Institute of Computer Applications and Management 2020 Abstract Modern systems comprise hardware and soft- ware components that together provide value through enabling the functionality that the system is intended to provide. Systems engineering (SE) and software engi- neering (SwE) are therefore interdependent, tightly cou- pled, and complementary activities that must be carefully aligned and coordinated throughout the system develop- ment process. Yet, these two disciplines have historically grown quite separated from each other, with too little interaction and mutual learning. In this work, we develop and evaluate Object-Process Programming (OPP) as a proof-of-concept for a common framework that integrates SE and SwE based on ISO 19450—Object-Process Methodology. The ability of designers to use the same paradigm for engineering the software, the hardware, and the system as a whole, using the same concepts and prin- ciples and the same design environment, described and discussed in this work, is a major step towards the inte- gration and streamlining of engineering new systems that feature significant hardware and software components. To evaluate OPP, we established a focus group and conducted an experiment in which participants were asked to develop systems using OPP. Overall, the results were positive in terms of usability and understandability. In particular, the language and the environment were far superior in com- parison to textual languages. OPP will contribute to the continuous endeavor to bridge the gap between SE and SwE by providing a seamless, easy-to-learn environment. Non-technical stakeholders can also benefit from OPP by improving their communication with technical stakehold- ers. The ideas underlying OPP have already served to augment OPM with computational capabilities. Keywords Conceptual modeling Software engineering Systems engineering Software modeling Model-based systems engineering (MBSE) Cyber-physical systems Hardware-software co-design Visual programming Visual programming languages Object-Process Methodology (OPM) Object-Process Programming (OPP) 1 Introduction Every modern human-made system is a complex combi- nation of hardware and software modules, aimed to provide value to the system’s beneficiaries. This has culminated in the emergence of the Internet of Things (IoT) and its glaring Industry 4.0 manifestation [4], a revolution that is taking place and is changing dramatically the way systems operate and the modes of human-system interaction. Increasingly, the IoT and System of Systems [69] para- digms are gaining momentum, along with the voluminous data they produce. In these systems, software components are embedded in the hardware components, control them, and communicate their state via the Internet, relieving humans from mundane operations and serving their & Ahmad Jbara ahmadjbara@gmail.com 1 Faculty of Industrial Engineering and Management at the Technion, Israel Institute of Technology, Haifa 3200003, Israel 2 School of Computer & Cyber Sciences, Augusta University, Augusta, GA, USA 3 Computer Science school, Netanya Academic College, Netanya, Israel 4 Microsoft Israel, Herzliya, Israel 5 Systems Design and Management, Massachusetts Institute of Technology, Cambridge, MA 02139, USA 123 Int. j. inf. tecnol. https://doi.org/10.1007/s41870-020-00488-8