Nothing Special   »   [go: up one dir, main page]

skip to main content
article

Knowledge based quality-driven architecture design and evaluation

Published: 01 June 2010 Publication History

Abstract

Modelling and evaluating quality properties of software is of high importance, especially when our every day life depends on the quality of services produced by systems and devices embedded into our surroundings. This paper contributes to the body of research in quality and model driven software engineering. It does so by introducing; (1) a quality aware software architecting approach and (2) a supporting tool chain. The novel approach with supporting tools enables the systematic development of high quality software by merging benefits of knowledge modelling and management, and model driven architecture design enhanced with domain-specific quality attributes. The whole design flow of software engineering is semi-automatic; specifying quality requirements, transforming quality requirements to architecture design, representing quality properties in architectural models, predicting quality fulfilment from architectural models, and finally, measuring quality aspects from implemented source code. The semi-automatic design flow is exemplified by the ongoing development of a secure middleware for peer-to-peer embedded systems.

References

[1]
Avgeriou, P., Kruchten, P., Lago, P., Grisham, P. and Perry, D., Architectural knowledge and rationale: issues, trends, challenges. SIGSOFT Softw. Eng. Notes. v32 i4. 41-46.
[2]
F. Bachmann, L. Bass, G. Chastek, P. Donohoe, F. Peruzzi, The Architecture based Design Method, CMU/SEI, Technical Report 2000-TR-001, 2000.
[3]
F. Bachmann, L. Bass, Introduction to the attribute driven design method, in: 23rd International Conference on Software Engineering (ICSE'01), 0745, 2001.
[4]
D. Brickley, R.V. Guha, RDF Vocabulary Description Language 1.0: RDF Schema, W3C, 2004. <http://www.w3.org/TR/rdf-schema/>.
[5]
A. Barstow, J. Hendler, M. Skall, et al. OWL Web Ontology Language for Services, W3C, 2004. <http://www.w3.org/Submission/2004/07/>.
[6]
Bosch, J., Design and Use of Software Architectures: Adopting and Evolving a Product-line Approach. 2000. Addison-Wesley, Harlow.
[7]
Booch, G., Brown, A., Iyengar, S., Rumbaugh, J. and Selic, B., An MDA Manifesto. In: MDA Journal: Model Driven Architecture Straight from the Masters, Meghan-Kiffer Press, Tampa, FL, USA.
[8]
Booch, G., Jacobson, I. and Rumbaugh, J., Unified Modeling Language for Object Oriented Development. 1996. Rational Software Corporation.
[9]
T. Bray, J. Paoli, C.M. Sperberg-McQueen, E. Maler, F. Yergeau, Extensible Markup Language (XML) 1.0. W3C, 1999. <http://www.w3.org/TR/REC-xml/>.
[10]
J. Bruck, Defining Generics with UML Templates, IBM, 2007. <http://www.eclipse.org/modeling/mdt/uml2/docs/articles/Defining_Generics_with_UML_Templates/article.html>.
[11]
Buschmann, F., Meunier, R., Rohnert, H., Sammerlad, P. and Stal, M., Pattern Oriented Software Architecture: A System of Patterns. 1996. John Wiley &amp; Sons Ltd., Chichester.
[12]
S.W. Cheng, D. Garlan, B. Schmerl, P. Steenkiste, N. Hu, Software architecture-based adaptation for grid computing, in: Proceedings of the 11th IEEE International Symposium on High Performance Distributed Computing (HPDC-11 2002), 2002.
[13]
Cheung, R.C., A user-oriented software reliability model. Software engineering. IEEE Transactions on Software Engineering. v6 i2. 118-125.
[14]
Chung, L., Nixon, B.A., Yu, E. and Mylopoulus, J., Non-functional Requirements in Software Engineering. 2000. Kluwer Academic Publishers, Boston.
[15]
Dobrica, L. and Niemelä, E., A Survey on Software Architecture Analysis Methods. IEEE Transactions on Software Engineering. v28 i7. 638-653.
[16]
G. Dobson, R. Lock, I. Sommerville, QoSOnt: a QoS ontology for service-centric systems, in: Proceedings of the 31st EUROMICRO Conference on Software Engineering and Advanced Applications, 2005.
[17]
Edgington, T., Choi, B., Henson, K., Raghu, T. and Vinze, A., Adopting ontology to facilitate knowledge sharing. Communications of ACM. v47 i11. 85-90.
[18]
Evans, J.R. and Lindsay, W.M., The Management and Control of Quality. 1999. South Western College Publishing.
[19]
A. Evesti, E. Niemelä, Quality-oriented architecting environment for quality variability, in: Proceedings of International Conference and Software and Systems Engineering and their Applications, ICSSEA, 3-6 December, 2007.
[20]
A. Evesti, E. Niemelä, K. Henttonen, M. Palviainen, A tool chain for quality-driven software architecting, in: Proceedings of the 12th International Software Product Line Conference (SPLC '08), 2008.
[21]
R. Farenhorst, P.Lago, H. van Vliet, Prerequisites for successful architectural knowledge sharing, in: Proceedings of the 18th Australian Software Engineering Conference (ASWEC 2007), 2007.
[22]
Farenhost, R., Lago, P. and Vlient, H., Effective tool support for architectural knowledge sharing. 2007. Springer-Verlag, Berlin, Heidelberg.
[23]
U. Farooq, C. Lam, H. Li, Towards automated test sequence generation, in: Proceedings of the 19th Australian Conference on Software Engineering (ASWEC 2008), 2008.
[24]
Fernandez-Lopez, M., Gomez-Perez, A. and Juristo, N., METHONTOLOGY: from ontological art towards ontological engineering. In: Proceeding of Spring Symposium on Ontological Engineering of AAAI, Stanford University, California.
[25]
FIPA, FIPA Quality of Service Ontology Specification 2009/02/11, Foundation for Intelligent Physical Agents, 2002. <http://www.fipa.org/specs/fipa00094/XC00094.html>.
[26]
France, R. and Rumpe, B., Model-driven development of complex software: a research roadmap. Future of Software Engineering.
[27]
Gamma, E., Helm, R., Johnson, R. and Vlissides, J., Desing Patterns. Elements of Reusable Object-oriented Software. 1994. Addison-Wesley, Boston.
[28]
L.M. Garshol, BNF and EBNF: what are they and how do they work? 2002. <http://www.garshol.priv.no/download/text/bnf.html>.
[29]
H. Glaser, A. Jaffri, I. Millard, B. Rodriguez, ReSIST Ontology, 2006. <http://users.ecs.soton.ac.uk/aoj04r/resist.owl>.
[30]
Gruenbacker, P., Egyed, A. and Medvidovic, N., Reconciling software requirements and architectures with intermediate models. Software and Systems Modeling. v3 i3. 235-253.
[31]
Hasselbring, W. and Reussner, R., Toward Trustworthy Software Systems. Computer. v39 i4. 91
[32]
P. Hayes, RDF Semantics, W3C, 2004. <http://www.w3.org/TR/rdf-mt/>.
[33]
Heckel, R. and Lohmann, M., Towards model-driven testing. Electronic Notes in Theoretical Computer Science. v82 i6. 33-43.
[34]
K. Henttonen, Stylebase for Eclipse, An open source tool to support the modeling of quality-driven software architecture, Research Note 2387, Espoo: VTT Technical Research Centre of Finland, 2007. <http://www.vtt.fi/inf/pdf/tiedotteet/2007/T2387.pdf>.
[35]
K. Henttonen, M. Matinlassi, Contributing to Eclipse: a case study, in: Proceedings of the 2007 Conference on Software Engineering (SE2007), Hamburg, Germany, 29-30 March, 2007.
[36]
K. Henttonen, M. Matinlassi, Open source based tools for sharing and reuse of software architectural knowledge. Joint Working IEEE/IFIP Conference on Software Architecture (WICSA) &amp; 3rd European Conference on Software Architecture (ECSA), Cambridge, UK, 14-17 Sept. 2009. IEEE, pp. 41-50.
[37]
Henttonen, K., Matinlassi, M., Niemelä, E. and Kanstrén, T., Integrability and extensibility evaluation from software architectural models - a case study. The Open Software Engineering Journal. v1 i1. 1-20.
[38]
IEEE, IEEE 982.1, In IEEE Standard Dictionary of Measures of the Software Aspects of Dependability, Institute of Electrical and Electronics Engineers, ISBN: 0738148466, 2005.
[39]
Immonen, A., A method for predicting reliability and availability at the architectural level. In: Käkölä, T., Dueñas, J.C. (Eds.), Software Product-lines - Research Issues in Engineering and Management, Springer-Verlag, Berlin. pp. 373-422.
[40]
A. Immonen, A. Evesti, Validation of the reliability analysis method ant tool, in: Proceedings of the 12th International Software Product Line Conference (SPLC '08), vol. 2, 2008.
[41]
Immonen, A. and Niemelä, E., Survey of reliability and availability prediction methods from the viewpoint of software architecture. Software and Systems Modelling. v7 i1. 49-65.
[42]
A. Immonen, A. Niskanen, A tool for reliability and availability prediction, in Proceedings of the 31st Euromicro Conference on Software Engineering and Advanced Applications, Porto, IEEE Computer Society, 30 August-3 September, 2005.
[43]
A. Immonen, M. Palviainen, Trustworthiness evaluation and testing of open source components, in: Seventh International Conference on Quality Software (QSIC'07), Portland, Oregon, USA, October 11-12, 2007.
[44]
ISO/IEC, 9126:2-4, Software Engineering, Product Quality, Parts 4-6, 2003 <http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=22749>.
[45]
ISO/IEC, 9126-1, Software Engineering, Product Quality, Part 1: Quality Model, 2001.
[46]
J. Kalaoja, T. Paaso, J. Toivonen, P. Plaza, J. Marina, J. Serrano, S. Kraxberger, D. Garrido, R. Roman, M. Diaz, D3.2 Conceptual Architecture of Secure EP2P Middleware, 2008. <http://www.smepp.org/DownloadsReview/D3_2_Final_Year2.pdf>.
[47]
J. Kalaoja, T. Paaso, M. Rodrigues, D. Garrido, A. Rayna, P. Merino, A. Recio, F. Benigni, R. Popescu, J. Serrano, J. Marina, D3.3 Concrete Architecture of Secure EP2P Middleware, 2008. <http://www.smepp.org/DownloadsReview/D3_3_Final_Year2.pdf>.
[48]
J. Kantorovitch, E. Niemelä, Service description ontologies, in: Mehdi Khosrow-Pour (Ed.), Encyclopedia of Information Science and Technology, second ed., vol. 7, Published under the imprint Information Science Reference (formerly Idea Group Reference), 2008, pp. 3445-3451.
[49]
S. Kelly, J.Tolvanen, Domain-specific Modelling: Enabling Full Code Generation, ISBN: 978-0-470-03666-2, 2008.
[50]
Matinlassi, M., Niemelä, E. and Dobrica, L., Quality-driven Architecture Design and Quality Analysis Method. A Revolutionary Initiation Approach to a Product Line Architecture. 2002. VTT Electronics, Espoo, Finland.
[51]
D. McGuinness, F. van Harmelen, OWL Web Ontology Language Overview, W3C, 2004. <http://www.w3.org/TR/owl-features/>.
[52]
Mellor, S.J., Kendal, S., Uhl, A. and Weise, D., MDA Distilled. 2004. Addison-Wesley Longman Publishing Co., Inc., Redwood City, CA, USA.
[53]
Merilinna, J., A Tool for Quality-driven Architecture Model Transformation. 2005. VTT Technical Research Centre of Finland, Espoo.
[54]
J. Merilinna, E. Niemelä, A stylebase as a tool for modeling of quality-driven software architecture, in: Proceedings of the Estonian Academy of Sciences, Special Issue on Programming Languages and Software Tools, vol. 11(4), Tallinn University of Technology, Tallinn University, Estonian Agricultural University, 2005.
[55]
J. Miller, J. Johansson, MDA Guide, Object Management Group, 2003. <http://www.omg.org/docs/omg/03-06-01.pdf>.
[56]
Musa, J.D., Software-reliability-engineered testing. Computer. 61-68.
[57]
E. Niemelä, A. Evesti, P. Savolainen, Modeling quality attribute variability, in: Third International Conference on Evaluation of Novel Approaches of Software Engineering, ENASE 2008, Funchal, Madeira, Portugal, 4-7 May, 2008.
[58]
Niemelä, E., Kalaoja, J. and Lago, P., Toward an architectural knowledge base for wireless service engineering. IEEE Transactions on Software Engineering. v31 i5.
[59]
E. Niemelä, M. Matinlassi, Quality evaluation by QADA, in: A half-day tutorial in the 5th Working IEEE/IFIP Conference on Software Architecture, WICSA 2005, Pittsburg, Pennsylvania, USA, 6-9 November, 2005.
[60]
L. O'Brien, P. Merson, L. Bass. Quality Attributes for Service-oriented Architectures, in: Proceedings of the International Workshop on Systems Development in SOA Environments (SDSOA '07), 20-26 May, 2007.
[61]
Object Management Group, Meta Object Facility (MOF) 2.0 Query/View/Transformation Specification, 2008. <http://www.omg.org/spec/QVT/1.0/>.
[62]
Object Management Group, UML Superstructure Specification 2.0, 2005 <http://www.omg.org/spec/UML/2.0/>.
[63]
Object Management Group, A Proposal for an MDA Foundation Model, 2005 <http://www.omg.org/docs/ormsc/05-04-01.pdf>.
[64]
Object Management Group, CORBA Component Model, v.4.0, 2006. <http://www.omg.org/docs/formal/06-04-01.pdf>.
[65]
Object Management Group, MARTE Specification, 2007. <http://www.omgmarte.org/Specification.htm>.
[66]
D. Pakkala, P. Pääkkönen, M. Sihvonen, A generic communication middleware architecture for distributed application and service messaging, in: Proceedings of the Joint International Conference on Autonomic and Autonomous Systems and International Conference on Networking and Services, 2005.
[67]
M. Palviainen, A model-based method for dynamic behaviour and reliability evaluation of multithreaded Java programs. in: Submitted to the Third International Conference on Software Testing, Verification and Validation (ICST 2010), Paris, France, 2010.
[68]
H. Robinson, Graph theory techniques in model-based testing, in: In the International Conference on Testing Computer Software, 1999.
[69]
RUP, Rational Unified Process: Best Practices for Software Development Teams, 2009. <http://www.augustana.ab.ca/~mohrj/courses/2000.winter/csc220/papers/rup_best_practices/rup_bestpractices.html>.
[70]
Rubel, D., The Heart of Eclipse. ACM Queue. v4 i6. 36-44.
[71]
P. Savolainen, E. Niemelä, R. Savola, A taxonomy of information security for service-centric systems, in: 33rd EUROMICRO Conference on Software Engineering and Advanced Applications, 20075-12, 2007.
[72]
B. Selic, A Definition of MDA, Brest, Brittany, France, Presentation in the Second Summer School "MDA for Embedded Systems", 6-10 September, 2004.
[73]
SCRUM, What is Scrum? 2009. <http://www.controlchaos.com/about/>.
[74]
M. Tian, A. Gramm, H. Ritter, J. Schiller, Efficient selection and monitoring of QoS-Aware Web services with the WS-QoS framework, in Proceedings of the IEEE/WIC/ACM International Conference on Web Intelligence, 2004.
[75]
Tarvainen, P., Adaptability evaluation at software architecture level. The Open Software Engineering Journal. v2 i1. 1-30.
[76]
P. Tarvainen, Adaptability evaluation of software architectures; a case study, in: Proceedings of the 31st Annual International Computer Software and Applications Conference, COMPSAC, 2007, pp. 2579-2586.
[77]
M. Utting, Position Paper: Model-based Testing, in: Proceedings of the Verified Software: Theories, Tools, Experiments (VSTTE) Conference, 2005.
[78]
Utting, M., Pretschner, A. and Legeard, B., A Taxonomy of Model-based Testing, Department of Computer Science. 2005. The University of Waikato, Hamilton, New Zealand.
[79]
C. Vairo, M. Albano, S. Chessa, A secure middleware for wireless sensor applications, in: The Fifth Annual International Conference on Mobile and Ubiquitous Systems: Computing, Networking and Services, Trinity College Dublin, Ireland, 21-25 July, 2008.
[80]
C. Zhou, L. Chia, B. Lee, DAML-QoS Ontology for Web services, in: Proceeding of the International Conference on Web Services (ICW2004), 2004, pp. 472-479.
[81]
C. Zhou, L. Chia, B. Lee, QoS measurement issues with DAML-QoS ontology, in: IEEE International Conference on Business Engineering, ICEBE, 2005.
[82]
J. Zhou, Knowledge dichotomy and semantic knowledge management, in: 1st IFIP WG 12.5 Working Conference on Industrial Applications of Semantic Web, Jyvaskyla, Finland, 2005.
[83]
J. Zhou, E. Niemelä, A. Evesti, A. Immonen, P. Savolainen, OntoArch approach for reliability-aware software architecture development, in: Proceedings of QACOS2008, IEEE Computer Society, ISBN: 978-0-7695-3262-1, 2008.
[84]
J. Zhou, E. Niemelä, P. Savolainen, An integrated QoS-aware service development and management framework, in: Sixth Working IEEE/IFIP Conference on Software Architecture (WICSA), Mumbai, India, 6-9 January, 2007.

Cited By

View all
  1. Knowledge based quality-driven architecture design and evaluation

    Recommendations

    Comments

    Please enable JavaScript to view thecomments powered by Disqus.

    Information & Contributors

    Information

    Published In

    cover image Information and Software Technology
    Information and Software Technology  Volume 52, Issue 6
    June, 2010
    131 pages

    Publisher

    Butterworth-Heinemann

    United States

    Publication History

    Published: 01 June 2010

    Author Tags

    1. Evaluation
    2. Model-driven development
    3. Ontology
    4. Quality attribute
    5. Software architecture
    6. Tool

    Qualifiers

    • Article

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)0
    • Downloads (Last 6 weeks)0
    Reflects downloads up to 25 Nov 2024

    Other Metrics

    Citations

    Cited By

    View all
    • (2019)Toward a contextual quality of service evaluation approachInternational Journal of Computer Applications in Technology10.5555/3302625.330263459:1(82-94)Online publication date: 1-Jan-2019
    • (2018)πSOD-MInternational Journal of Web and Grid Services10.5555/3292946.329295014:4(400-431)Online publication date: 1-Jan-2018
    • (2017)Information Systems Quality and Success in Canadian Software Development FirmsInformation Resources Management Journal10.4018/IRMJ.201707010130:3(1-25)Online publication date: 1-Jul-2017
    • (2017)A survey of autonomic computing methods in digital service ecosystemsService Oriented Computing and Applications10.1007/s11761-016-0203-811:1(1-31)Online publication date: 1-Mar-2017
    • (2016)A service requirements engineering method for a digital service ecosystemService Oriented Computing and Applications10.1007/s11761-015-0175-010:2(151-172)Online publication date: 1-Jun-2016
    • (2015)On building architecture-centric product line architectureRequirements Engineering10.1007/s00766-014-0201-320:3(301-321)Online publication date: 1-Sep-2015
    • (2014)A survey of methods and approaches for reliable dynamic service compositionsService Oriented Computing and Applications10.1007/s11761-013-0153-38:2(129-158)Online publication date: 1-Jun-2014
    • (2013)Application of knowledge-based approaches in software architectureInformation and Software Technology10.1016/j.infsof.2012.11.00555:5(777-794)Online publication date: 1-May-2013
    • (2011)The reliability estimation, prediction and measuring of component-based softwareJournal of Systems and Software10.1016/j.jss.2011.01.04884:6(1054-1070)Online publication date: 1-Jun-2011
    • (2010)Ontology driven piecemeal development of smart spacesProceedings of the First international joint conference on Ambient intelligence10.5555/1926743.1926758(148-156)Online publication date: 10-Nov-2010

    View Options

    View options

    Login options

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media