skip to main content
research-article

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

Published: 01 March 2012 Publication History

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.

Supplementary Material

PDF File (a10-mattsson_appendix.pdf)
The proof is given in an electronic appendix, available online in the ACM Digital Library.

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.
[2]
Bass, L., Clements, P., and Kazman, R. 2003. Software Architecture in Practice. Addison-Wesley, Reading, MA.
[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.
[4]
Bengtsson, P. and Bosch, J. 1998. Scenario-based software architecture reengineering. In Proceedings of the 5th International Conference on Software Engineering. 308--317.
[5]
Bosch, J. 2000. Design and Use of Software Architectures : Adopting and evolving a Product Line Approach. Addison-Wesley, Reading, MA.
[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.
[7]
Buschmann, F. 1996. Pattern-Oriented Software Architecture: A System of Patterns. Wiley, New York.
[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.
[9]
Eden, A. H. 2002. A theory of object-oriented design. Inf. Syst. Frontiers 4, 4, 379--391.
[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.
[11]
Fuentes-Fernández, L. and Vallecillo-Moreno, M. 2004. An introduction to UML profiles. Euro. J. Inform. Profess. V, 2.
[12]
Gamma, E. 1995. Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, Reading, MA.
[13]
Greenfield, J. and Short, K. 2004. Software Factories: Assembling Applications with Patterns, Models, Frameworks, and Tools. Wiley, New York.
[14]
Hofmeister, C., Nord, R. and Soni, D. 2000. Applied Software Architecture. Addison-Wesley, Reading, MA.
[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.
[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.
[17]
Karsai, G., Sztipanovits, J., Ledeczi, A., and Bapty, T. 2003. Model-integrated development of embedded software. Proc. IEEE 91, 1, 145--164.
[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.
[19]
Kruchten, P. 2004b. The Rational Unified Process: An Introduction. Addison-Wesley, Reading, MA.
[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.
[21]
Kruchten, P. B. 1995. The 4+1 view model of architecture. IEEE Softw. 12, 6, 42--50.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[29]
Mikkonen, T. 1998. Formalizing design patterns. In Proceedings of the International Conference on Software Engineering Forging New Links. 115--124.
[30]
OMG. 2003. MDA Guide version 1.0.1 OMG.
[31]
OMG. 2003. UML 2.0 OCL specification.
[32]
OMG. 2006. Meta Object Facility (MOF) core specification.
[33]
OMG. 2009. Unified modeling language: Superstructure.
[34]
Pahl, C., Giesecke, S., and Hasselbring, W. 2007. An ontology-based approach for modeling architectural styles. In Software Architecture. 60--75.
[35]
Perry, D. E. and Wolf, A. L. 1992. Foundations for the study of software architecture. SIGSOFT Softw. Eng. Notes 17, 4, 40--52.
[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.
[37]
Schmidt, D. C. 2006. Model-driven engineering. IEEE Computer 39, 2, 25--31.
[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.
[39]
Shaw, M. and Garlan, D. 1996. Software Architecture: Perspectives on an Emerging Discipline. Prentice Hall, Upper Saddle River, NJ.
[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.
[41]
Telelogic Rhapsody modeling. http://www.telelogic.com/products/rhapsody/.
[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.
[43]
Tyree, J. and Akerman, A. 2005. Architecture decisions: Demystifying architecture. IEEE Softw. 22, 2, 19--27.
[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.
[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.
[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.

Cited By

View all
  • (2021)Characterizing Student Proficiency in Software Modeling in Terms of Functions, Structures, and BehaviorsACM Transactions on Computing Education10.1145/345803921:3(1-25)Online publication date: 22-Jul-2021
  • (2019)A survey of modeling language specification techniquesInformation Systems10.1016/j.is.2019.101425(101425)Online publication date: Aug-2019
  • (2019)Exploring the suitability of source code metrics for indicating architectural inconsistenciesSoftware Quality Journal10.1007/s11219-018-9404-z27:1(241-274)Online publication date: 1-Mar-2019
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

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
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: 01 March 2012
Accepted: 01 September 2010
Revised: 01 June 2010
Received: 01 July 2009
Published in TOSEM Volume 21, Issue 2

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Model-driven development (MDD)
  2. embedded software development
  3. model-driven engineering (MDE)

Qualifiers

  • Research-article
  • Research
  • Refereed

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)10
  • Downloads (Last 6 weeks)1
Reflects downloads up to 20 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2021)Characterizing Student Proficiency in Software Modeling in Terms of Functions, Structures, and BehaviorsACM Transactions on Computing Education10.1145/345803921:3(1-25)Online publication date: 22-Jul-2021
  • (2019)A survey of modeling language specification techniquesInformation Systems10.1016/j.is.2019.101425(101425)Online publication date: Aug-2019
  • (2019)Exploring the suitability of source code metrics for indicating architectural inconsistenciesSoftware Quality Journal10.1007/s11219-018-9404-z27:1(241-274)Online publication date: 1-Mar-2019
  • (2019)Empirical study on the effectiveness and efficiency of model-driven architecture techniquesSoftware and Systems Modeling (SoSyM)10.1007/s10270-018-00711-y18:5(3083-3096)Online publication date: 1-Oct-2019
  • (2018)Automatized integration of a contextual model into a process with data variabilityComputer Languages, Systems & Structures10.1016/j.cl.2018.06.00254(156-182)Online publication date: Dec-2018
  • (2015)Real-Time Reflexion Modelling in architecture reconciliationInformation and Software Technology10.1016/j.infsof.2015.01.01161:C(107-123)Online publication date: 1-May-2015
  • (2015)In Need of a Domain-Specific Language Modeling Notation for Smartphone Applications with Portable CapabilityMobile Web and Intelligent Information Systems10.1007/978-3-319-23144-0_20(218-227)Online publication date: 8-Aug-2015

View Options

Login options

Full Access

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media