Abstract
The main aim of this article is to discuss how the functional and the object-oriented views can be inter-played to represent the various modeling perspectives of embedded systems. We discuss whether the object-oriented modeling paradigm, the predominant one to develop software at the present time, is also adequate for modeling embedded software and how it can be used with the functional paradigm. More specifically, we present how the main modeling tool of the traditional structured methods, data flow diagrams, can be integrated in an object-oriented development strategy based on the unified modeling language. The rationale behind the approach is that both views are important for modeling purposes in embedded systems environments, and thus a combined and integrated model is not only useful, but also fundamental for developing complex systems. The approach was integrated in a model-driven engineering process, where tool support for the models used was provided. In addition, model transformations have been specified and implemented to automate the process. We exemplify the approach with an IPv6 router case study.
Similar content being viewed by others
References
Fernandes, J.M., Lilius, J.: Functional and object-oriented modeling of embedded software. In: 11th International Conference and Workshop on the Engineering of Computer Based Systems (ECBS’04) (2004)
Truscan, D., Fernandes, J.M., Lilius, J.: Tool support for DFD-UML model-based transformations. In: 11th International Conference and Workshop on the Engineering of Computer Based Systems (ECBS’04) (2004)
Hatley, D.J., Pirbhai, I.A.: Strategies for Real-Time System Specification. Dorset House (1987)
Ward P.T., Mellor S.J. (1985). Structured Development for Real-Time Systems. Prentice Hall/Yourdon Press, Englewood Cliffs (Published in 3 volumes)
Dieste O., Genero M., Juristo N., Maté J., Moreno A. (2003). A conceptual model completely independent of the implementation paradigm. J Syst Softw 68(3):183–198
Machado, R.J. Fernandes, J.M., Monteiro, P., Rodrigues, H.: Transformation of UML Models for Service-Oriented Software Architectures. In: Proceedings of 12th IEEE international conference on the engineering of computer based systems (ECBS 2005), pp. 173–82 (2005)
Ambler S.W. (2002). Agile Modeling: Effective Practices for Extreme Programming and the Unified Process. Wiley, New York
Alabiso, B.: Transformation of data flow analysis models to object oriented design. In: Conference on Object-Oriented Programming Systems, Languages and Applications (OOPSLA ’88), pp. 335–353. ACM Press, New York (1988)
Shoval P., Kabeli J. (2001). FOOM: functional- and object-oriented analysis and design of information systems – an integrated methodology. J Database Manage 12(1):15–25
Ward P.T. (1989). How to integrate object orientation with structured analysis and design. IEEE Softw 6(2):74–82
Periyasamy, K., Mathew, C.: Mapping a functional specification to an object-oriented specification in software re-engineering. In: 24th ACM Annual Conference on Computer Science (CSC ’96), pp. 24–33. ACM Press, New York (1996)
de Champeaux, D. et al. Panel: structured analysis and object oriented analysis. In: ECOOP/OOPSLA, pp. 135–139. ACM Press, New York (1990)
Sodan A.C. (1998). Yin and Yang in computer science. Commun ACM 41(4):103–111
Kim, J., Ferch, F.J.: Towards a model of cognitive process in logical design: comparing object-oriented and traditional functional decomposition software methodologies. In: Conference on Human Factors in Computing Systems (CHI ’92), pp. 489–498. ACM Press, New York (1992)
Glass R.L. (2002). The naturalness of object orientation: beating a dead horse?. IEEE Softw 19(3):103–104
Vessey I., Conger S.A. (1994). Requirements specification: learning object, process, and data methodologies. Commun ACM 37(5):102–13
Jackson M. (1995). Software requirements and specifications: a lexicon of practice, principles and prejudices. ACM Press, New York
Hatley, D.J., Hruschka, P., Pirbhai, I.A.: Process for System Architecture and Requirements Engineering. Dorset House (2000)
Douglass, B.P., Harel, D., Trakhtenbrot, M.: Statecharts in use: structured analysis and object-orientation. In: Lectures on Embedded Systems, LNCS 1494, pp 368–394. Springer, Berlin Heidelberg New York (1998)
Chen, P.: Entity-relationship modeling: historical events, future trends, and lessons learned. In: Software Pioneers: Contributions to Software Engineering, pp. 297–310. Springer, Berlin Heidelberg New York (2002)
Swartout W., Balzer R. (1982). On the Inevitable Intertwining of Specification and Implementation. Commun ACM 25(7):438–440
Girault A., Lee B., Lee E.A. (1999). Hierarchical finite state machines with multiple concurrency models. IEEE Trans Comput Aid Des of Integ Circuits Syst 18(6):742–760
Howerton, W.G., Hinchey, M.G.: Using the right tool for the job. In: 6th IEEE International Conference on Complex Computer Systems (ICECCS ’00), pp. 105–115. IEEE CS Press (2000)
Lee, E.A.: Computing for embedded systems. In: 18th IEEE Instrumentation and Measurement Technology Conference (IMTC/2001) (2001)
Dori D. (2002). Object-Process Methodology – A Holistic Systems Paradigm. Springer, Berlin Heidelberg New York
Peleg M., Dori D. (1999). Extending the object-process methodology to handle real-time systems. J Object Orient Program 11(8):53–58
Wang, E.Y., Cheng, B.H.C.: Formalizing and integrating the functional model into object-oriented design. In: Proceedings of SEKE ’98 (1998)
Becker, L.B., Pereira, C.E., Dias, O.P., Teixeira, I.M., Teixeira, J.P.: MOSYS: a methodology for automatic object identification from system specification. In: 3rd IEEE International Symposium on Object-Oriented Real-Time Distributed Computing (ISORC 2000), pp. 198–201. IEEE CS Press (2000)
Rumbaugh J., Blaha M., Premerlani W., Eddy F., Lorensen W. (1991). Object-Oriented Modeling and Design. Prentice-Hall International, Englewood Cliffs
Gall, H., Klösch, R.: Finding objects in procedural programs: an alternative approach. In: 2nd Working Conference on Reverse Engineering, pp. 208–216. IEEE CS Press (1995)
Jacobson, I., Lindström, F.: Reengineering of old systems to an object-oriented architecture. In: Conference on Object-Oriented Programming Systems, Languages and Applications (OOPSLA ’91), pp. 340–350. ACM Press New York (1991)
Pnueli A. (2002). Embedded systems: challenges in specification and verification. In: Sangiovanni-Vincentelli A., Sifakis J. (eds) Embedded Software, Second International Conference EMSOFT 2002, LNCS 2491. Springer, Berlin Heidelberg New York, pp. 1–14
Lilius, J., Truscan, D.: UML-driven TTA-based protocol processor design. In: Forum on specification and design languages (FDL ’02) (2002)
Ambler, S.W.: What’s Missing from the UML? SIGS Publications, Object Magazine (1997)
Fernandes J.M., Duarte F.J. (2004). A reference framework for process-oriented software development organizations. Software and Systems Modeling. Springer, Berlin Heidelberg New York http://dx.doi.org/10.1007/s10270-004-0063-0.
Mellor S.J., Balcer M.J. (2002). Executable UML: A Foundation for Model-Driven Architecture. Addison-Wesley, Reading
Sigfried, S.: Understanding Object-Oriented Software Engineering. IEEE Press (1996)
Meyer B. (1988). Object-Oriented Software Construction. Prentice-Hall, Englewood Cliffs
Szyperski C. (1998). Component Software: Beyond Object-Oriented Programming. Addison-Wesley, Reading
Fernandes, J.M., Machado, R.J.: From use cases to objects: an industrial information systems case study analysis. In: 7th International Conference on Object-Oriented Information Systems (OOIS ’01), pp. 319–328. Springer, Berlin Heidelberg New York (2001)
Lyons, A.: UML for real-time overview. Technical report, ObjecTime Limited (1998)
Selic B. (1999). Turning clockwise: using uml in the real-time domain. Commun ACM 42(10):46–54
Martin, G., Lavagno, L., Louis-Guerin, J.: Embedded UML: a merger of real-time uml and co-design. In: 9th ACM/IEEE/IFIP International Symposium on Software Codesign (CODES ’01), pp. 23–28. ACM Press New York (2001)
Lee E.A., Parks T.M. (1995). Dataflow process networks. Proc IEEE 83(5):773–801
Wolf, W.: Computers as Components: Principles of Embedded Computing System Design. Morgan Kaufman Publishers (2000)
OMG. OMG Meta-Object Facility (MOF). Document formal/01-11-02, http://www.omg.org
Isaksson, J., Lilius, J., Truscan, D.: A MOF-based metamodel for SA/RT. In: Proceedings of Rapid Integration of Software Engineering techniques (RISE’04) workshop. Luxembourg, Luxembourg, 26 November 2004. LNCS 3475, pp. 102-111, Springer, Berlin Heidelberg New York (2005)
Jacobson I. (1994). Basic use case modeling (continued). Report on Object Anal Design 1(3):7–9
Harel, D., Rumpe, B.: Modeling languages: syntax, semantics and all that stuff – part i: the basic stuff. In: Technical report MCS00-16, Faculty of Mathematics and Computer Science, The Weizmann Institute of Science, Israel (2000)
Kiczales, G., Lamping, J., Mendhekar, A., Maeda, C., Lopes, C.V., Loingtier, J.-M., Irwin, J.: Aspect-oriented programming. In: ECOOP ’97 – Object-oriented programming, LNCS 1241, pp. 140–149. Springer, Berlin Heidelberg New York (1997)
Selic B., Gullekson G., Ward P.T. (1994). Real-Time Object-Oriented Modeling. Wiley, New York
Jacobson I., Christerson M., Jonsson P., Övergaard G.(1992). Object-Oriented Software Engineering: A Use Case Driven Approach. Addison-Wesley, Reading
Rosenberg D., Scott K. (1999). Use Case Driven Object Modeling with UML: A Practical Approach. Addison-Wesley, Reading
Ying L. (2003). From use cases to classes: a way of building object model with UML. Inform Softw Technol 45(2):83–93
Pawson R. (2002). Naked objects. IEEE Softw 19(4):81–83
OMG. Unified Modeling Language Specification. In; Technical report, OMG (2002)
OMG. OMG model driven architecture, July 2001. Document ormsc/2001-07-01. http://www.omg.org.
Sendall S., Kozaczynski W. (2003). Model transformation: the heart and soul of model-driven software developement. IEEE Softw 20(5):42–45
Truscan, D., Fernandes, J.M., Lilius, J.: Tool support for DFD to UML model-based transformations. In: Technical report 519, TUCS, Turku, Finland (2003)
Open SystemC Initiative. http://www.systemc.org
http://www.python.org
Porres, I.: A Toolkit for Manipulating UML Models. Software and Systems Modeling. Springer, Berlin Heidelberg New York 2(4), 262–277 (2003)
http://www.abo.fi/~dtruscan/ipv6index.html
Author information
Authors and Affiliations
Corresponding author
Additional information
This article is an extension of two papers [1,2] published in the proceedings of IEEE International Conference and Workshop on the Engineering of Computer Based Systems (ECBS 2004).
Rights and permissions
About this article
Cite this article
Fernandes, J.M., Lilius, J. & Truscan, D. Integration of DFDs into a UML-based Model-driven Engineering Approach. Softw Syst Model 5, 403–428 (2006). https://doi.org/10.1007/s10270-006-0013-0
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10270-006-0013-0