Abstract
Modern systems comprise hardware and software components that together provide value through enabling the functionality that the system is intended to provide. Systems engineering (SE) and software engineering (SwE) are therefore interdependent, tightly coupled, and complementary activities that must be carefully aligned and coordinated throughout the system development 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 principles and the same design environment, described and discussed in this work, is a major step towards the integration 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 comparison 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 stakeholders. The ideas underlying OPP have already served to augment OPM with computational capabilities.
Similar content being viewed by others
Notes
In OPM, shadow denotes a physical thing, as opposed to informatical things, but since in software everything is informatical, OPP uses this notation to denote that an object is global. This is an example of a conflict that needs to be resolved when OPM-based programming is integrated into OPM. Indeed, in OPCloud [21] we use a different notation.
This is another example of deviation from OPM’s meaning of a dashed contour of an object, and in OPCloud we use a different notation.
In OPM, agent link is reserved for a human or a group of humans as enablers.
References
Akkaya I, Derler P, Emoto S, Lee EA (2016) Systems engineering for industrial cyber-physical systems using aspects. Proc IEEE 104(5):997–1012. https://doi.org/10.1109/JPROC.2015.2512265
Alonso D, Vicente-Chicote C, Pastor JA, Álvarez B (2008) StateML + : from graphical state machine models to thread-safe Ada code. Springer Berlin Heidelberg, Berlin, Heidelberg, pp 158–170. https://doi.org/10.1007/978-3-540-68624-8_12
Alvarez JL, de Koning HP, Fischer D, Wallum M, Metselaar H, Kretzenbacher M (????) Best practices for model based systems engineering in ESA projects. https://doi.org/10.2514/6.2018-5327, https://arc.aiaa.org/doi/pdf/10.2514/6.2018-5327
Baur C, Wee D (2015) Manufacturing’s next act. https://www.mckinsey.com/business-functions/operations/our-insights/manufacturings-next-act. Accessed 31 Oct 2017
Bibliowicz A, Dori D (2012) A graph grammar-based formal validation of object-process diagrams. Softw Syst Model 11(2):287–302. https://doi.org/10.1007/s10270-011-0201-4
Brooks FP Jr (1987) No silver bullet essence and accidents of software engineering. Computer 20(4):10–19. https://doi.org/10.1109/MC.1987.1663532
Broy M (2006) Challenges in automotive software engineering. In: Proceedings of the 28th international conference on software engineering. ACM, New York, NY, USA, ICSE ’06, pp 33–42. https://doi.org/10.1145/1134285.1134292, http://doi.acm.org.ezlibrary.technion.ac.il/10.1145/1134285.1134292
Burnett MM (1999) Visual programming. Wiley, New York, pp 275–283. https://doi.org/10.1002/047134608X.W1707
craft AI (????) The maturity of visual programming. https://www.craft.ai/blog/the-maturity-of-visual-programming. Accessed 12 Feb 2020
Dictionary (n.d.) Inheritance. http://www.dictionary.com/browse/inheritance?s=t. Accessed 29 Apr 2016
Dobing B, Parsons J (2006) How UML is used. Commun ACM 49(5):109–113. https://doi.org/10.1145/1125944.1125949
Dori D (2002a) Object-process methodology—a holistic systems paradigm, 1st edn. Springer-Verlag Berlin Heidelberg. http://link.springer.com/book/10.1007/978-3-642-56209-9/page/1
Dori D (2002b) Why significant UML change is unlikely. Commun ACM 45(11):82–85. https://doi.org/10.1145/581571.581599
Dori D (2008) Words from pictures for dual-channel processing. Commun ACM 51(5):47–52. https://doi.org/10.1145/1342327.1342337
Dori D (2016a) Model-based systems engineering with OPM and SysML, 1st edn. Springer Publishing Company, Incorporated. http://www.springer.com/gp/book/9781493932948
Dori D (2016b) Model-based systems engineering with OPM and SysML. Springer, New York
Dori D, Goodman M (1996) On bridging the analysis-design and structure-behavior Grand Canyons with object paradigms. Rep Object Anal Des 2(5):25–35
Dori D, Reinhartz-Berger I, Sturm A (2003) Opcat—a bimodal case tool for object-process based system development. In: ICEIS
Dori D, Beimel D, Toch E (2004) OPCATeam—collaborative business process modeling with OPM. Springer Berlin Heidelberg, Berlin, Heidelberg, pp 66–81. https://doi.org/10.1007/978-3-540-25970-1_5
Dori D, Feldman R, Sturm A (2008) From conceptual models to schemata: an object-process-based data warehouse construction method. Inf Syst 33(6):567–593. https://doi.org/10.1016/j.is.2008.02.002
ESML (n.d.) OPCloud - a web-based modeling language and methodology. https://opcloud-client.firebaseapp.com/, accessed: 2017-12-09
Fernandes JM, Lilius J, Truscan D (2006) Integration of DFDs into a UML-based model-driven engineering approach. Softw Syst Model 5(4):403–428. https://doi.org/10.1007/s10270-006-0013-0
France R, Rumpe B (2007) Does model driven engineering tame complexity? Softw Syst Model 6(1):1–2. https://doi.org/10.1007/s10270-006-0041-9
France RB, Ghosh S, Dinh-Trong T, Solberg A (2006) Model-driven development using UML 2.0: promises and pitfalls. Computer 39(2):59–66. https://doi.org/10.1109/MC.2006.65
Gelbard R, Teeni D, Sade M (2010) Object-oriented analysis: Is it just theory? IEEE Softw 27(1):64–71. https://doi.org/10.1109/MS.2009.151
Guéhéneuc Y, Albin-amiot H, Douence R, Cointe P (2002) Bridging the gap between modeling and programming languages. Tech. rep
Harel D (1987) Statecharts: a visual formalism for complex systems. Sci Comput Program 8(3):231–274. https://doi.org/10.1016/0167-6423(87)90035-9
Hendrix TD, Cross JH II, Maghsoodloo S, McKinney ML (2000) Do visualizations improve program comprehensibility? Experiments with control structure diagrams for java. SIGCSE Bull 32(1):382–386. https://doi.org/10.1145/331795.331890
Hosick E (2014) Visual programming languages—snapshots. http://blog.interfacevision.com/design/design-visual-progarmming-languages-snapshots/
Instruments N (n.d.) Labview. http://www.ni.com/labview/
Jbara A, Feitelson DG (2017) How programmers read regular code: a controlled experiment using eye tracking. Empir Softw Eng 22(3):1440–1477. https://doi.org/10.1007/s10664-016-9477-x (Invited extended journal version)
Jouault F, Bézivin J, Barbero M (2009) Towards an advanced model-driven engineering toolbox. Innov Syst Softw Eng 5(1):5–12. https://doi.org/10.1007/s11334-009-0082-7
Li L, Soskin NL, Jbara A, Karpel M, Dori D (2019) Model-based systems engineering for aircraft design with dynamic landing constraints using object-process methodology. IEEE Access 7:61494–61511. https://doi.org/10.1109/ACCESS.2019.2915917
Lifecyclemodeling (2015) Lifecycle modeling language specification. http://www.lifecyclemodeling.org/?page_id=66. Accessed 12 Feb 2020
Linhares MV, da Silva AJ, de Oliveira RS (2006) Empirical evaluation of sysml through the modeling of an industrial automation unit. In: 2006 IEEE conference on emerging technologies and factory automation, pp 145–152. https://doi.org/10.1109/ETFA.2006.355190
Mayer RE (2009) Multimedia learning, 2nd edn. Cambridge University Press, New York
McIntyre DW (1998) comp.lang.visual frequently-asked questions (faq). http://www.faqs.org/faqs/visual-lang/faq/
Michell GD, Gupta RK (1997) Hardware/software co-design. Proc IEEE 85(3):349–365. https://doi.org/10.1109/5.558708
Microsoft (2010) Architectural patterns and styles. https://docs.microsoft.com/en-us/previous-versions/msp-n-p/ee658117(v=pandp.10). Accessed 29 Aug 2018
MIT (2014) Scratch. http://scratch.mit.edu/
Mousavi BA, Azzouz R, Heavey C, Ehm H (2019) A survey of model-based system engineering methods to analyse complex supply chains: a case study in semiconductor supply chain. IFAC-PapersOnLine 52(13):1254–1259. https://doi.org/10.1016/j.ifacol.2019.11.370. http://www.sciencedirect.com/science/article/pii/S2405896319313497, 9th IFAC conference on manufacturing modelling, management and control MIM 2019
Myers BA (1986) Visual programming, programming by example, and program visualization: a taxonomy. SIGCHI Bull 17(4):59–66. https://doi.org/10.1145/22339.22349
Nassi I, Shneiderman B (1973) Flowchart techniques for structured programming. SIGPLAN Not 8(8):12–26. https://doi.org/10.1145/953349.953350
Navarro-Prieto R, Cañas JJ (2001) Are visual programming languages better? The role of imagery in program comprehension. Int J Hum Comput Stud 54(6):799–829. https://doi.org/10.1006/ijhc.2000.0465
Nickerson JV (1994) Visual programming: limits of graphic representation. In: Proceedings of 1994 IEEE symposium on visual languages, pp 178–179. https://doi.org/10.1109/VL.1994.363624
Noone M, Mooney A (2018) Visual and textual programming languages: a systematic review of the literature. J Comput Educ 5(2):149–174. https://doi.org/10.1007/s40692-018-0101-5
Nugroho A, Chaudron MR (2008) A survey into the rigor of UML use and its perceived impact on quality and productivity. In: Proceedings of the second ACM-IEEE international symposium on empirical software engineering and measurement. ACM, New York, NY, USA, ESEM ’08, pp 90–99. https://doi.org/10.1145/1414004.1414020
OMG (2001) Model driven architecture
OMG (2003) MDA guide version 1.0.1
OMG (2011a) OMG unified modeling language (OMG UML) version 2.4.1, infrastructure
OMG (2011b) OMG unified modeling language (OMG UML) version 2.4.1, superstructure
OMG (n.d.a) Object management group. www.omg.org
OMG (n.d.b) What is SysML. http://www.omgsysml.org/what-is-sysml.htm. Accessed 12 Feb 2020
Peleg M, Dori D (1999) Extending the object-process methodology to handle real-time systems. JOOP 11:53–58
Peleg M, Dori D (2000) The model multiplicity problem: experimenting with real-time specification methods. IEEE Trans Softw Eng 26(8):742–759
Petre M (2010) Mental imagery and software visualization in high-performance software development teams. J Vis Lang Comput 21(3):171–183. https://doi.org/10.1016/j.jvlc.2009.11.001
Reinhartz-Berger I, Dori D (2005) A reflective meta-model of object-process methodology: the system modeling building blocks. In: Green PF, Rosemann M (eds) Business systems analysis with ontologies, pp 130–173
Reinhartz-Berger I, Dori D, Katz S (2002) OPM/Web—object-process methodology for developing web applications. Ann Softw Eng 13(1):141–161. https://doi.org/10.1023/A:1016597410642
Scanlan DA (1989) Structured flowcharts outperform pseudocode: an experimental comparison. IEEE Softw 6(5):28–36. https://doi.org/10.1109/52.35587
Schäfer W, Wehrheim H (2010) Model-driven development with mechatronic UML. Springer Berlin Heidelberg, Berlin, Heidelberg, pp 533–554. https://doi.org/10.1007/978-3-642-17322-6_23
Siek J (2014) What is gradual typing. http://wphomes.soic.indiana.edu/jsiek/what-is-gradual-typing/. Accessed 12 Feb 2020
Soffer P, Golany B, Dori D (2003) ERP modeling: a comprehensive approach. Inf Syst 28(6):673–690. https://doi.org/10.1016/S0306-4379(02)00078-9
Somekh J, Choder M, Dori D (2012) Conceptual model-based systems biology: mapping knowledge and discovering gaps in the mrna transcription cycle. PLoS ONE 7(12):1–21. https://doi.org/10.1371/journal.pone.0051430
Staunstrup J, Wolf W (2012) Hardware/software co-design: principles and practice. Springer
Stobart SC, Thompson JB, Smith P (1991) Use, problems, benefits and future direction of computer-aided software engineering in United Kingdom. Inf Softw Technol 33(9):629–636. https://doi.org/10.1016/0950-5849(91)90035-A
Sturm A, Dori D, Shehory O (2003) Single-model method for specifying multi-agent systems. In: Proceedings of the second international joint conference on autonomous agents and multiagent systems. ACM, New York, NY, USA, AAMAS ’03, pp 121–128. https://doi.org/10.1145/860575.860595
Sutherland IE (1964) Sketch pad a man-machine graphical communication system. In: Proceedings of the SHARE design automation workshop. ACM, New York, NY, USA, DAC ’64, pp 6.329–6.346. https://doi.org/10.1145/800265.810742
SysML (n.d.) SysML v2: The next-generation systems modeling language. http://www.omgsysml.org/SysML-2.htm. Accessed 13 Sep 2018
Tannahill BK, Jamshidi M (2014) System of systems and big data analytics—bridging the gap. Comput Electr Eng 40(1):2–15. https://doi.org/10.1016/j.compeleceng.2013.11.016 (40th-year commemorative issue)
Thomas D (2004) MDA: revenge of the modelers or UML utopia? IEEE Softw 21(3):15–17. https://doi.org/10.1109/MS.2004.1293067
University CM (n.d.) Alice. http://www.alice.org/
Whitley K (1997) Visual programming languages and the empirical evidence for and against. J Vis Lang Comput 8(1):109–142. https://doi.org/10.1006/jvlc.1996.0030
Whitley K, Blackwell AF (2001) Visual programming in the wild: a survey of LabVIEW programmers. J Vis Lang Comput 12(4):435–472. https://doi.org/10.1006/jvlc.2000.0198. http://www.sciencedirect.com/science/article/pii/S1045926X00901988
Wolny S, Mazak A, Carpella C, Geist V, Wimmer M (2020) Thirteen years of sysml: a systematic mapping study. Softw Syst Model 19(1):111–169. https://doi.org/10.1007/s10270-019-00735-y
Author information
Authors and Affiliations
Corresponding author
Ethics declarations
Conflict of interest
The authors declare that they have no conflict of interest.
Appendix
Appendix
See Table 6.
Rights and permissions
About this article
Cite this article
Jbara, A., Bibliowicz, A., Wengrowicz, N. et al. Toward integrating systems engineering with software engineering through Object-Process Programming. Int. j. inf. tecnol. (2020). https://doi.org/10.1007/s41870-020-00488-8
Received:
Accepted:
Published:
DOI: https://doi.org/10.1007/s41870-020-00488-8