Preview

Труды Института системного программирования РАН

Расширенный поиск

Подход к обнаружению анти-паттернов в сервис-ориентированных системах

https://doi.org/10.15514/ISPRAS-2016-28(2)-5

Полный текст:

Аннотация

Сервис-ориентированные системы, как стиль в архитектуре приложений, широко принят в промышленной разработке программного обеспечения, потому что это позволяет разрабатывать гибкие и масштабируемые распределенные системы по более выгодной цене. Результатом разработки становятся автономные, многоразовые и независимые от платформы использования функционала единицы - сервисы. Сервис-ориентированные системы, как и любые другие программные системы, развиваются с течением времени, независимо от того, какими были предпосылки изменений: новые требования, изменение среды функционирования, и т.п. Эта эволюция может усложнить только что измененные системы, и тем самым увеличить трудность их технической поддержки и дальнейшего развития. Постоянные изменения могут привести к появлению в системе «плохих» решений - анти-паттернов, что, в свою очередь, снижает качество программной системы и требует большего внимания разработчиков на всех этапах жизненного цикла системы. Анти-паттерны в процессе эксплуатации систем на базе сервисов представляют собой «плохие» решения повторяющихся проблем проектирования. В противоположность паттернам проектирования, которые являются хорошими проверенными решениями, анти-паттерны инженерам следует избегать. Анти-паттерны также могут быть введены как следствие различных изменений, таких как, например, новые требования пользователей или изменения среды функционирования. Знание анти-паттернов является таким же важным, как и знание анти-паттернов, поэтому анти-паттерны описываются специалистами ИТ области, а сами описания собираются в каталоги. И чаще всего именно метрико-ориентированный подход может быть применен для получения ценной, основанной на фактах, информации о том, как работают сервисы. В данной статье рассматриваются примеры анти-паттернов и методов их автоматического обнаружения. Все методы будут сосредоточены на метрико-ориентированном подходе к анализу программных систем.

Об авторе

А. С. Югов
Национальный Исследовательский Университет «Высшая Школа Экономики»
Россия


Список литературы

1. T. Erl, Service-Oriented Architecture: Concepts, Technology, and Design. Prentice Hall PTR, August 2005.

2. G. Farrow. SOA antipatterns: When the SOA paradigm breaks // IBM Developer Works [Online]. Available: http://www.ibm.com/developerworks/library/wa-soa_antipattern/

3. M. Nayrolles; N. Moha; P. Valtchev. Improving SOA Antipatterns Detection in Service Based Systems by Mining Execution Traces in Proceedings of the 20th Working Conference on Reverse Engineering (WCRE'13), pp. 321–330, IEEE, 2013.

4. N. Moha, F. Palma, M. Nayrolles, B. J. Conseil, Y.-G. Gúeh́eneuc, B. Baudry, J.-M. J́eźequel. Specification and Detection of SOA Antipatterns. In International Conference on Service-Oriented Computing (ICSOC), pp. 1–16, 2012

5. F. Khomh, M. D. Penta, Y.-G. Gúeh́eneuc, G. Antoniol. An exploratory study of the impact of antipatterns on class change- and fault-proneness. Empirical Software Engineering 17(3):243–275, 2012.

6. D. Arcelli, V. Cortellessa, C. Trubiani. Experimenting the Influence of Numerical Thresholds on Model-based Detection and Refactoring of Performance Antipatterns. ECEASST 59 (2013).

7. M. Kessentini, S. Vaucher, and H. Sahraoui. “Deviance From Perfection is a Better Criterion Than Closeness To Evil When Identifying Risky Code” in Proceedings of the IEEE/ACM ASE. ACM, 2010, pp. 113–122.

8. M. Lanza and R. Marinescu, Object-Oriented Metrics in Practice. Springer-Verlag, 2006.

9. A. Rotem-Gal-Oz, SOA Patterns, 1st ed. Manning Pubblications, 2012.

10. J. Kr´al and M. Zemlicka, “The most important service-oriented antipatterns,” in ICSEA, 2007, p. 29.

11. L. Cherbakov, M. Ibrahim, and J. Ang, “Soa antipatterns: the obstacles to the adoption and successful re-alization of service-oriented architecture”.

12. B. Dudney, J. Krozak, K. Wittkopf, S. Asbury, and D. Osborne, J2EE Antipatterns, 1st ed. New York, NY, USA: John Wiley & Sons, Inc., 2002

13. T. DeMarco. Controlling Software Projects: Management, Measurement and Estimation. Yourdan Press, New Jersey, 1982.

14. D. Card and R. Glass. Measure Software Design Quality. Prentice-Hall, NJ, 1990.

15. P.G. Hoel. Introduction to Mathematical Statistics. Wiley, 1954.

16. R. Marinescu. Detection strategies: Metrics-based rules for detecting design flaws. In Proceedings of the 20th IEEE International Conference on Software Maintenance (ICSM’04). Los Alamitos CA: IEEE Computer Society Press, 2004, pp. 350–359.

17. N. Fenton and S.L. Pfleeger. Software Metrics: A Rigorous and Practical Approach. International Thomson Computer Press, London, UK, second edition, 1997.

18. A.J. Riel. Object-Oriented Design Heuristics. Addison-Wesley, 1996.

19. S. R. Chidamber and C. F. Kemerer. A Metric Suite for Object-Oriented Design. IEEE Transactions on Software Engineering, 20(6):476–493, June 1994.

20. T.J. McCabe. A Complexity Measure. IEEE Transactions on Software Engineering, 2(4):308–320, dec 1976.

21. J.M. Bieman and B.K. Kang. Cohesion and Reuse in an Object-Oriented System. Proc. ACM Symposium on Software Reusability, apr. 1995.

22. R. Marinescu. Detecting Design Flaws via Metrics in Object-Oriented Systems. In Proceedings of TOOLS USA 2001, pages 103–116. IEEE Computer Society, 2001.

23. E. Casais. State-of-the-art in Re-engineering Methods. Achievement report SOAMET-A1.3.1, FAMOOS, October 1996.

24. A. Trifu. Using Cluster Analysis in the Architecture Recovery of OO Legacy Systems. Diploma Thesis, Karlsruhe and the ”Politehnica” University Timisoara, 2001


Для цитирования:


Югов А.С. Подход к обнаружению анти-паттернов в сервис-ориентированных системах. Труды Института системного программирования РАН. 2016;28(2):79-96. https://doi.org/10.15514/ISPRAS-2016-28(2)-5

For citation:


Yugov A.S. Approach to Anti-pattern detection in Service-oriented Software Systems. Proceedings of the Institute for System Programming of the RAS (Proceedings of ISP RAS). 2016;28(2):79-96. https://doi.org/10.15514/ISPRAS-2016-28(2)-5

Просмотров: 102


Creative Commons License
Контент доступен под лицензией Creative Commons Attribution 4.0 License.


ISSN 2079-8156 (Print)
ISSN 2220-6426 (Online)