skip to main content
research-article

An Approach for Modeling Architectural Design Rules in UML and its Application to Embedded Software

Published:01 March 2012Publication History
Skip Abstract Section

Abstract

Current techniques for modeling software architecture do not provide sufficient support for modeling architectural design rules. This is a problem in the context of model-driven development in which it is assumed that major design artifacts are represented as formal or semi-formal models. This article addresses this problem by presenting an approach to modeling architectural design rules in UML at the abstraction level of the meaning of the rules. The high abstraction level and the use of UML makes the rules both amenable to automation and easy to understand for both architects and developers, which is crucial to deployment in an organization. To provide a proof-of-concept, a tool was developed that validates a system model against the architectural rules in a separate UML model. To demonstrate the feasibility of the approach, the architectural design rules of an existing live industrial-strength system were modeled according to the approach.

Skip Supplemental Material Section

Supplemental Material

References

  1. America, P., Rommes, E., and Obbink, H. 2004. Multi-view variation modeling for scenario analysis. In Software Product-Family Engineering. F. Vanderlinden Ed., Springer, Berlin, 44--65.Google ScholarGoogle Scholar
  2. Bass, L., Clements, P., and Kazman, R. 2003. Software Architecture in Practice. Addison-Wesley, Reading, MA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Bayley, I. 2007. Formalising design patterns in predicate logic. In Proceedings of the 5th IEEE International Conference on Software Engineering and Formal Methods. IEEE, Los Alamitos, CA, 25--36. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Bengtsson, P. and Bosch, J. 1998. Scenario-based software architecture reengineering. In Proceedings of the 5th International Conference on Software Engineering. 308--317. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Bosch, J. 2000. Design and Use of Software Architectures : Adopting and evolving a Product Line Approach. Addison-Wesley, Reading, MA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Bosch, J. and Molin, P. 1999. Software architecture design: Evaluation and transformation. In Proceedings of the IEEE Conference and Workshop on Engineering of Computer-Based Systems (ECBS’99). IEEE, Los Alamitos, CA, 4--10. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Buschmann, F. 1996. Pattern-Oriented Software Architecture: A System of Patterns. Wiley, New York. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Conboy, K. and Fitzgerald, B. 2010. Method and developer characteristics for effective agile method tailoring: A study of expert opinion. ACM Trans. Softw. Eng. Methodol. 20, 1. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Eden, A. H. 2002. A theory of object-oriented design. Inf. Syst. Frontiers 4, 4, 379--391. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. France, R. B., Kim, D. K., Sudipto, G., and Song, E. 2004. A UML-based pattern specification technique. IEEE Trans. Softw. Eng. 30, 3, 193--206. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Fuentes-Fernández, L. and Vallecillo-Moreno, M. 2004. An introduction to UML profiles. Euro. J. Inform. Profess. V, 2.Google ScholarGoogle Scholar
  12. Gamma, E. 1995. Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, Reading, MA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Greenfield, J. and Short, K. 2004. Software Factories: Assembling Applications with Patterns, Models, Frameworks, and Tools. Wiley, New York. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Hofmeister, C., Nord, R. and Soni, D. 2000. Applied Software Architecture. Addison-Wesley, Reading, MA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Jansen, A. and Bosch, J. 2005. Software architecture as a set of architectural design decisions. In Proceedings of the 5th Working IEEE/IFIP Conference on Software Architecture (WICSA’05). 109--120. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Jansen, A., Van Der Ven, J., Avgeriou, P., and Hammer, D. K. 2007. Tool support for architectural decisions. In Proceedings of the 6th Working IEEE/IFIP Conference on Software Architecture (WICSA’07). 44--53. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Karsai, G., Sztipanovits, J., Ledeczi, A., and Bapty, T. 2003. Model-integrated development of embedded software. Proc. IEEE 91, 1, 145--164.Google ScholarGoogle ScholarCross RefCross Ref
  18. Kruchten, P. 2004a. An ontology of architectural design decisions in software intensive systems. In Proceedings of the 2nd Groningen Workshop on Software Variability. 54--61.Google ScholarGoogle Scholar
  19. Kruchten, P. 2004b. The Rational Unified Process: An Introduction. Addison-Wesley, Reading, MA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Kruchten, P., Lago, P., and Van Vliet, H. 2006. Building up and reasoning about architectural knowledge. In Quality of Software Architectures. Springer, Berlin, 43--58. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Kruchten, P. B. 1995. The 4+1 view model of architecture. IEEE Softw. 12, 6, 42--50. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Lauder, A. and Kent, S. 1998. Precise visual specification of design patterns. In Proceedings of the 12th European Conference on Object-Oriented Programming. Springer, Berlin. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Levy, Y. and Ellis, T. J. 2006. A systems approach to conduct an effective literature review in support of information systems research. Inf. Sci. J. 9, 181--212.Google ScholarGoogle ScholarCross RefCross Ref
  24. Mak, J. K. H., Choy, C. S. T. and Lun, D. P. K. 2004. Precise modeling of design patterns in UML. In Proceedings of the 26th International Conference on Software Engineering. 252--261. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Mattsson, A., Lundell, B., Lings, B., and Fitzgerald, B. 2009. Linking model-driven development and software architecture: A case study. IEEE Trans. Softw. Eng. 35, 1, 83--93. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. Medvidovic, N., Dashofy, E. M., and Taylor, R. N. 2007. Moving architectural description from under the technology lamppost. Inf. Softw. Technol. 49, 1, 12--31. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. Medvidovic, N., Rosenblum, D. S., Redmiles, D. F., and Robbins Jason, E. 2002. Modeling software architectures in the Unified Modeling Language. ACM Trans. Softw. Eng. Methodol. 11, 1, 2--57. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. Medvidovic, N. and Taylor, R. N. 2000. A classification and comparison framework for software architecture description languages. IEEE Trans. Softw. Eng. 26, 1, 70--93. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. Mikkonen, T. 1998. Formalizing design patterns. In Proceedings of the International Conference on Software Engineering Forging New Links. 115--124. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. OMG. 2003. MDA Guide version 1.0.1 OMG.Google ScholarGoogle Scholar
  31. OMG. 2003. UML 2.0 OCL specification.Google ScholarGoogle Scholar
  32. OMG. 2006. Meta Object Facility (MOF) core specification.Google ScholarGoogle Scholar
  33. OMG. 2009. Unified modeling language: Superstructure.Google ScholarGoogle Scholar
  34. Pahl, C., Giesecke, S., and Hasselbring, W. 2007. An ontology-based approach for modeling architectural styles. In Software Architecture. 60--75. Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. Perry, D. E. and Wolf, A. L. 1992. Foundations for the study of software architecture. SIGSOFT Softw. Eng. Notes 17, 4, 40--52. Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. Ran, A. 2000. ARES conceptual framework for software architecture. In Software Architecture for Product Families Principles and Practice, M. Jazayeri, et al. Eds. Addison-Wesley, Reading, MA, 1--29.Google ScholarGoogle Scholar
  37. Schmidt, D. C. 2006. Model-driven engineering. IEEE Computer 39, 2, 25--31. Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. Shaw, M., Deline, R., Klein, D. V., Ross, T. L., Young, D. M., and Zelesnik, G. 1995. Abstractions for software architecture and tools to support them. IEEE Trans. Softw. Eng. 21, 4, 314--335. Google ScholarGoogle ScholarDigital LibraryDigital Library
  39. Shaw, M. and Garlan, D. 1996. Software Architecture: Perspectives on an Emerging Discipline. Prentice Hall, Upper Saddle River, NJ. Google ScholarGoogle ScholarDigital LibraryDigital Library
  40. Soni, D., Nord, R. L., and Hofmeister, C. 1995. Software architecture in industrial applications. In Proceedings of the IEEE 17th International Conference on Software Engineering. IEEE, Los Alamitos, CA, 196--207. Google ScholarGoogle ScholarDigital LibraryDigital Library
  41. Telelogic Rhapsody modeling. http://www.telelogic.com/products/rhapsody/.Google ScholarGoogle Scholar
  42. Tolvanen, J. P. and Kelly, S. 2005. Defining domain-specific modeling languages to automate product derivation: Collected experiences. In Proceedings of the 9th International Conference on Software Product Lines (SPLC’05). Lecture Notes in Computer Science, Springer, Berlin, 198--209. Google ScholarGoogle ScholarDigital LibraryDigital Library
  43. Tyree, J. and Akerman, A. 2005. Architecture decisions: Demystifying architecture. IEEE Softw. 22, 2, 19--27. Google ScholarGoogle ScholarDigital LibraryDigital Library
  44. van Der Linden, F., Bosch, J., Kamsties, E., Kansala, K., and Obbink, H. 2004. Software product family evaluation. In Proceedings of the 3rd International Conference on Software Product Lines (SPLC’04). Lecture Notes in Computer Science, vol. 3154, Springer, Berlin, 110--129.Google ScholarGoogle Scholar
  45. Wojcik, R., Bachmann, F., Bass, L., Clements, P., Merson, P., Nord, R. L., and Wood, B. 2006. Attribute-driven design (ADD), Version 2.0., Software Engineering Institute, Carnegie Mellon University.Google ScholarGoogle Scholar
  46. Zdun, U. and Avgeriou, P. 2005. Modeling architectural patterns using architectural primitives. In Proceedings of the 20th Annual ACM SIGPLAN Conference on Object Oriented Programming, Systems, Languages, and Applications. ACM, New York. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. An Approach for Modeling Architectural Design Rules in UML and its Application to Embedded Software

              Recommendations

              Comments

              Login options

              Check if you have access through your login credentials or your institution to get full access on this article.

              Sign in

              Full Access

              • Published in

                cover image ACM Transactions on Software Engineering and Methodology
                ACM Transactions on Software Engineering and Methodology  Volume 21, Issue 2
                March 2012
                232 pages
                ISSN:1049-331X
                EISSN:1557-7392
                DOI:10.1145/2089116
                Issue’s Table of Contents

                Copyright © 2012 ACM

                Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

                Publisher

                Association for Computing Machinery

                New York, NY, United States

                Publication History

                • Published: 1 March 2012
                • Accepted: 1 September 2010
                • Revised: 1 June 2010
                • Received: 1 July 2009
                Published in tosem Volume 21, Issue 2

                Permissions

                Request permissions about this article.

                Request Permissions

                Check for updates

                Qualifiers

                • research-article
                • Research
                • Refereed

              PDF Format

              View or Download as a PDF file.

              PDF

              eReader

              View online with eReader.

              eReader