Skip to main content
Log in

Integration of DFDs into a UML-based Model-driven Engineering Approach

  • Regular Paper
  • Published:
Software & Systems Modeling Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. 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)

  2. 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)

  3. Hatley, D.J., Pirbhai, I.A.: Strategies for Real-Time System Specification. Dorset House (1987)

  4. Ward P.T., Mellor S.J. (1985). Structured Development for Real-Time Systems. Prentice Hall/Yourdon Press, Englewood Cliffs (Published in 3 volumes)

    Google Scholar 

  5. 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

    Article  Google Scholar 

  6. 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)

  7. Ambler S.W. (2002). Agile Modeling: Effective Practices for Extreme Programming and the Unified Process. Wiley, New York

    Google Scholar 

  8. 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)

  9. 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

    Google Scholar 

  10. Ward P.T. (1989). How to integrate object orientation with structured analysis and design. IEEE Softw 6(2):74–82

    Article  Google Scholar 

  11. 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)

  12. de Champeaux, D. et al. Panel: structured analysis and object oriented analysis. In: ECOOP/OOPSLA, pp. 135–139. ACM Press, New York (1990)

  13. Sodan A.C. (1998). Yin and Yang in computer science. Commun ACM 41(4):103–111

    Article  Google Scholar 

  14. 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)

  15. Glass R.L. (2002). The naturalness of object orientation: beating a dead horse?. IEEE Softw 19(3):103–104

    Article  Google Scholar 

  16. Vessey I., Conger S.A. (1994). Requirements specification: learning object, process, and data methodologies. Commun ACM 37(5):102–13

    Article  Google Scholar 

  17. Jackson M. (1995). Software requirements and specifications: a lexicon of practice, principles and prejudices. ACM Press, New York

    Google Scholar 

  18. Hatley, D.J., Hruschka, P., Pirbhai, I.A.: Process for System Architecture and Requirements Engineering. Dorset House (2000)

  19. 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)

  20. 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)

  21. Swartout W., Balzer R. (1982). On the Inevitable Intertwining of Specification and Implementation. Commun ACM 25(7):438–440

    Article  Google Scholar 

  22. 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

    Article  Google Scholar 

  23. 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)

  24. Lee, E.A.: Computing for embedded systems. In: 18th IEEE Instrumentation and Measurement Technology Conference (IMTC/2001) (2001)

  25. Dori D. (2002). Object-Process Methodology – A Holistic Systems Paradigm. Springer, Berlin Heidelberg New York

    Google Scholar 

  26. Peleg M., Dori D. (1999). Extending the object-process methodology to handle real-time systems. J Object Orient Program 11(8):53–58

    Google Scholar 

  27. Wang, E.Y., Cheng, B.H.C.: Formalizing and integrating the functional model into object-oriented design. In: Proceedings of SEKE ’98 (1998)

  28. 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)

  29. Rumbaugh J., Blaha M., Premerlani W., Eddy F., Lorensen W. (1991). Object-Oriented Modeling and Design. Prentice-Hall International, Englewood Cliffs

    MATH  Google Scholar 

  30. 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)

  31. 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)

  32. 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

    Google Scholar 

  33. Lilius, J., Truscan, D.: UML-driven TTA-based protocol processor design. In: Forum on specification and design languages (FDL ’02) (2002)

  34. Ambler, S.W.: What’s Missing from the UML? SIGS Publications, Object Magazine (1997)

  35. 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.

    Google Scholar 

  36. Mellor S.J., Balcer M.J. (2002). Executable UML: A Foundation for Model-Driven Architecture. Addison-Wesley, Reading

    Google Scholar 

  37. Sigfried, S.: Understanding Object-Oriented Software Engineering. IEEE Press (1996)

  38. Meyer B. (1988). Object-Oriented Software Construction. Prentice-Hall, Englewood Cliffs

    MATH  Google Scholar 

  39. Szyperski C. (1998). Component Software: Beyond Object-Oriented Programming. Addison-Wesley, Reading

    Google Scholar 

  40. 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)

  41. Lyons, A.: UML for real-time overview. Technical report, ObjecTime Limited (1998)

  42. Selic B. (1999). Turning clockwise: using uml in the real-time domain. Commun ACM 42(10):46–54

    Article  Google Scholar 

  43. 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)

  44. Lee E.A., Parks T.M. (1995). Dataflow process networks. Proc IEEE 83(5):773–801

    Article  Google Scholar 

  45. Wolf, W.: Computers as Components: Principles of Embedded Computing System Design. Morgan Kaufman Publishers (2000)

  46. OMG. OMG Meta-Object Facility (MOF). Document formal/01-11-02, http://www.omg.org

  47. 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)

  48. Jacobson I. (1994). Basic use case modeling (continued). Report on Object Anal Design 1(3):7–9

    Google Scholar 

  49. 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)

  50. 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)

  51. Selic B., Gullekson G., Ward P.T. (1994). Real-Time Object-Oriented Modeling. Wiley, New York

    MATH  Google Scholar 

  52. Jacobson I., Christerson M., Jonsson P., Övergaard G.(1992). Object-Oriented Software Engineering: A Use Case Driven Approach. Addison-Wesley, Reading

    Google Scholar 

  53. Rosenberg D., Scott K. (1999). Use Case Driven Object Modeling with UML: A Practical Approach. Addison-Wesley, Reading

    Google Scholar 

  54. Ying L. (2003). From use cases to classes: a way of building object model with UML. Inform Softw Technol 45(2):83–93

    Article  Google Scholar 

  55. Pawson R. (2002). Naked objects. IEEE Softw 19(4):81–83

    Article  Google Scholar 

  56. OMG. Unified Modeling Language Specification. In; Technical report, OMG (2002)

  57. OMG. OMG model driven architecture, July 2001. Document ormsc/2001-07-01. http://www.omg.org.

  58. Sendall S., Kozaczynski W. (2003). Model transformation: the heart and soul of model-driven software developement. IEEE Softw 20(5):42–45

    Article  Google Scholar 

  59. Truscan, D., Fernandes, J.M., Lilius, J.: Tool support for DFD to UML model-based transformations. In: Technical report 519, TUCS, Turku, Finland (2003)

  60. Open SystemC Initiative. http://www.systemc.org

  61. http://www.python.org

  62. Porres, I.: A Toolkit for Manipulating UML Models. Software and Systems Modeling. Springer, Berlin Heidelberg New York 2(4), 262–277 (2003)

  63. http://www.abo.fi/~dtruscan/ipv6index.html

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to João M. Fernandes.

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

Reprints 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

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10270-006-0013-0

Keywords

Navigation