ABSTRACT
Software Architecture design is a relevant issue in the software development. It is used for communication among the system's stakeholders, and facilitates their understanding about design decisions and design rationale. In this field, architectural knowledge comprises more than design decisions and capture their relationships with requirements and architecture design.
In this work, we present MoSAIC, a decision support system based on a knowledge-based approach for managing and reasoning on design decisions of Middleware-induced Software Systems Architecture. The approach is based on a fuzzy ontology to model relationships among Architectural, Functional and Non-Functional Requirements, design decisions and architecture design.
- Paris Avgeriou, John Grundy, Jon G Hall, Patricia Lago, and Ivan Mistrík. 2011. Relating software requirements and architectures. Springer Science & Business Media. Google ScholarDigital Library
- Paris Avgeriou and Uwe Zdun. 2005. Architectural patterns revisited-a pattern language. In Proc. 10th European Conf. Pattern Languages of Programs (EuroPLoP). 431--470.Google Scholar
- Len Bass. 2007. Software architecture in practice. Pearson Education India. Google ScholarDigital Library
- Len Bass, Paul Clements, and Rick Kazman. 2005. Software architecture in practice. Addison-Wesley, Boston ; Munich {u.a.}.Google Scholar
- L. Bass, M. Klein, and F. Bachmann. 2002. Quality attribute design primitives and the attribute driven design method. In Revised Papers from 4th Int.Workshop on Software Product-Family Engineering. Vol. 2290. Springer, 169--186. Google ScholarDigital Library
- Fernando Bobillo and Umberto Straccia. 2011. Fuzzy Ontology Representation using OWL 2. International Journal of Approximate Reasoning 52 (2011), 1073--1094. Issue 7. Google ScholarDigital Library
- Fernando Bobillo and Umberto Straccia. 2016. The fuzzy ontology reasoner fuzzyDL. Knowledge-Based Systems 95 (2016), 12--34. Google ScholarDigital Library
- Frank Buschmann, Kevlin Henney, and Douglas C Schmidt. 2007. Pattern-Oriented Software Architecture, Volume 4, A Pattern Language for Distributed Computing. Wiley. Google ScholarDigital Library
- Frank Buschmann, Regine Meunier, Hans Rohnert, Peter Sommerlad, and Michael Stal. 1996. Pattern-oriented software architecture: a system of patterns. John Wiley & Sons, Inc., New York, NY, USA. Google ScholarDigital Library
- Lawrence Chung, Brian A Nixon, Eric Yu, and John Mylopoulos. 2012. Nonfunctional requirements in software engineering. Vol. 5. Springer Science & Business Media.Google Scholar
- Nelly Condori-Fernandez and Patricia Lago. 2018. Characterizing the contribution of quality requirements to software sustainability. Journal of Systems and Software 137 (2018), 289--305.Google ScholarCross Ref
- Luiz Marcio Cysneiros. 2007. Evaluating the Effectiveness of Using Catalogues to Elicit Non-Functional Requirements.. In WER. 107--115.Google Scholar
- Tommaso Di Noia, Eugenio Di Sciascio, Francesco Maria Donini, Marina Mongiello, and Francesco Nocera. 2017. Formal model for user-centred adaptive mobiledevices. IET Software 11, 4 (2017), 156--164.Google ScholarCross Ref
- Tommaso Di Noia, Marina Mongiello, and Eugenio Di Sciascio. 2014. Ontology-driven pattern selection and matching in software design. In European Conference on Software Architecture. Springer, 82--89.Google Scholar
- Tommaso Di Noia, Marina Mongiello, Francesco Nocera, and Umberto Straccia. 2018. A fuzzy ontology-based approach for tool-supported decision making in architectural design. Knowledge and Information Systems (27 Mar 2018).Google Scholar
- Alexander Egyed and Paul Grunbacher. 2004. Identifying requirements conflicts and cooperation: How quality attributes and automated traceability can help. Software, IEEE 21, 6 (2004), 50--58. Google ScholarDigital Library
- Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides. 1994. Design patterns: elements of reusable object-oriented software. Pearson Education. Google ScholarDigital Library
- David Garlan and Mary Shaw. 1994. An introduction to software architecture. (1994). technical report. Google ScholarDigital Library
- Neil B Harrison and Paris Avgeriou. 2010. Implementing reliability: the interaction of requirements, tactics and architecture patterns. In Architecting dependable systems VII. Springer, 97--122. Google ScholarDigital Library
- Zengyang Li, Peng Liang, and Paris Avgeriou. 2013. Application of knowledge-based approaches in software architecture: a systematic mapping study. Information and Software technology 55 (2013), 777--794. Google ScholarDigital Library
- Claudia López, Luiz Marcio Cysneiros, and Hernan Astudillo. 2008. NDR ontology: sharing and reusing NFR and design rationale knowledge. In Managing Requirements Knowledge, 2008. MARK'08. First International Workshop on. IEEE, 1--10. Google ScholarDigital Library
- Dewi Mairiza, Didar Zowghi, and Nurie Nurmuliani. 2009. Managing conflicts among non-functional requirements. In 12th Australian Workshop on Requirements Engineering. University of Technology, Sydney, 11--19.Google Scholar
- Niko Mäkitalo, Francesco Nocera, Marina Mongiello, and Stefano Bistarelli. 2018. Architecting the Web of Things for the fog computing era. IET Software (April 2018). http://digital-library.theiet.org/content/journals/10.1049/iet-sen.2017.0350Google Scholar
- Ivano Malavolta, Patricia Lago, Henry Muccini, Patrizio Pelliccione, and Antony Tang. 2013. What industry needs from architectural languages: A survey. IEEE Transactions on Software Engineering 39, 6 (2013), 869--891. Google ScholarDigital Library
- Marina Mongiello, Tommaso di Noia, Francesco Nocera, Eugenio di Sciascio, and Angelo Parchitelli. 2016. Context-Aware Design of Reflective Middleware in the Internet of Everything. In Software Technologies: Applications and Foundations, Paolo Milazzo, Dániel Varró, and Manuel Wimmer (Eds.). Springer International Publishing, Cham, 423--435.Google Scholar
- Marina Mongiello, Francesco Nocera, Angelo Parchitelli, Luigi Patrono, Piercosimo Rametta, Luca Riccardi, and Ilaria Sergi. 2018. A Smart IoT-Aware System For Crisis Scenario Management. Journal of Communications Software and Systems 14, 1 (2018), 91--98.Google ScholarCross Ref
- M. Mongiello, L. Patrono, T. Di Noia, F. Nocera, A. Parchitelli, I. Sergi, and P. Rametta. 2017. A Complex Event Processing based smart aid system for fire and danger management. In 2017 7th IEEE International Workshop on Advances in Sensors and Interfaces (IWASI). 44--49.Google Scholar
- P. Avgeriou N.Harrison. 2007. Pattern-driven architectural partitioning: Balancing functional and non-functional requirements. In Second International Conference on Digital Telecommunications 2007. ICDT '07. IEEE. IEEE, 21--26. Google ScholarDigital Library
- Francesco Nocera. 2016. Fuzzy ontology-driven web-based framework for supporting architectural design: student research abstract. In Proceedings of the 31st Annual ACM Symposium on Applied Computing, Pisa, Italy, April 4--8, 2016. 1361--1362. Google ScholarDigital Library
- Francesco Nocera, Tommaso Di Noia, Marina Mongiello, and Eugenio Di Sciascio. {n. d.}. Semantic IoT Middleware-enabled Mobile Complex Event Processing for Integrated Pest Management. In In Proceedings of the 7th International Conference on Cloud Computing and Services Science (CLOSER 2017). 610--617.Google Scholar
- Tommaso Di Noia, Marina Mongiello, and Umberto Straccia. 2015. Fuzzy Description Logics for Component Selection in Software Design. In Software Engineering and Formal Methods - SEFM 2015 Collocated Workshops: ATSE, HOFM, MoKMaSD, and VERY*SCART, York, UK, September 7--8, 2015, Revised Selected Papers. 228--239. Google ScholarDigital Library
- Mohammad Abdur Razzaque, Marija Milojevic-Jevric, Andrei Palade, and Siobhán Clarke. 2016. Middleware for internet of things: a survey. IEEE Internet of Things Journal 3, 1 (2016), 70--95.Google ScholarCross Ref
- Honbo Zhou. 2012. The internet of things in the cloud: A middleware perspective. CRC press. Google ScholarDigital Library
Index Terms
MoSAIC: a middleware-induced software archIteCture design decision support system
Recommendations
Architectural Design for Evolution by Analyzing Requirements on Quality Attributes
APSEC '01: Proceedings of the Eighth Asia-Pacific on Software Engineering ConferenceIt is important to design architecture to be steadythroughout the evolution, or make the architecture to be theplatform for product family.In order to design softwarearcitecture to have such characteristics we have to analyzethe commonality and ...
Atomic requirements for software architecting
SEA '07: Proceedings of the 11th IASTED International Conference on Software Engineering and ApplicationsAtomic requirements are one way of specifying software requirements. In this paper, we describe how atomic requirements can be of particular interest in the context of software architectures. We describe the way how to specify atomic requirements and ...
Facilitating Software Architecting by Ranking Requirements Based on their Impact on the Architecture Process
ECBS '11: Proceedings of the 2011 18th IEEE International Conference and Workshops on Engineering of Computer-Based SystemsRanking software requirements helps decide what requirements to implement during a software development project, and when. Currently, requirements ranking techniques focus on resource constraints or stakeholder priorities and neglect the effect of ...
Comments