Toward software artifacts ecosystem

In the process of developing and maintaining a software product, many things are created and used that are called software artefacts. Software artifacts are created, changed, reused, and change relationships in the development and maintenance processes of a software product. The complexity and varie...

Повний опис

Збережено в:
Бібліографічні деталі
Дата:2021
Автор: Sydorov, N.A.
Формат: Стаття
Мова:English
Опубліковано: Інститут програмних систем НАН України 2021
Теми:
Онлайн доступ:https://pp.isofts.kiev.ua/index.php/ojs1/article/view/444
Теги: Додати тег
Немає тегів, Будьте першим, хто поставить тег для цього запису!
Назва журналу:Problems in programming
Завантажити файл: Pdf

Репозитарії

Problems in programming
id pp_isofts_kiev_ua-article-444
record_format ojs
resource_txt_mv ppisoftskievua/6d/985f7f71437727db4779fba86709746d.pdf
spelling pp_isofts_kiev_ua-article-4442024-04-26T22:46:31Z Toward software artifacts ecosystem Відносно екосистеми артефактів програмного забезпечення Sydorov, N.A. software engineering; software artifact; software ecosystem; programming; programming style; ontology UDC 004.415.2. (043.3) інженерія програмного забезпечення; артефакт програмного забезпечення; екосистема програмного забезпечення; програмування; стиль програмування; онтологія УДК 004.415.2. (043.3) In the process of developing and maintaining a software product, many things are created and used that are called software artefacts. Software artifacts are created, changed, reused, and change relationships in the development and maintenance processes of a software product. The complexity and variety of software artifact relationships require adequate means of description and management. They may be a software artifacts ecosystem. In the article, for the first time, a concept of a software artifact ecosystem is proposed. The concept describes a generic model of the software artifacts ecosystem, which is the Cornerstone ecosystem type and consists of three actors — the platform, the software, and the artifact. Based on the generic model, the SD model of the software artifacts ecosystem is described. The roles of actors in the ecosystem are indicated, the relationships between actors are described. The developer's activities will be more efficient, the software is understandable, and the development and maintenance is cheaper when the styles (standards) are used. As case study, based on the generic model of the software artifacts ecosystem, a declarative model of the programming style ecosystem has been developed. Three-level model of programming style artifact is proposed. The tools and processes for creating and using a programming style artifact are developed and described.Problems in programming 2020; 4: 110-120 У процесі розробки та супроводження програмного продукту створюється і використовується багато речей, які називаються артефактами програмного забезпечення. Артефакти програмного забезпечення створюються, змінюються, повторно використовуються та змінюють взаємозв'язки у процесах розробки та супроводження програмного продукту. Складність та різноманітність взаємозв’язків артефактів програмного забезпечення вимагають адекватних засобів опису та керування. Вони можуть бути екосистемою артефактів програмного забезпечення. У статті вперше запропоновано концепцію екосистеми артефактів програмного забезпечення. Концепція описує загальну модель екосистеми артефактів програмного забезпечення, яка є типом екосистеми Cornerstone і складається з трьох суб'єктів – платформи, програмного забезпечення та артефакту. На основі загальної моделі описана SD модель екосистеми артефактів програмного забезпечення. Вказуються ролі суб'єктів у екосистемі, описуються взаємозв'язки між акторами. Діяльність розробника буде ефективнішою, програмне забезпечення зрозумілим, а розробка та обслуговування дешевше, коли використовуються стилі (стандарти). Як тематичне дослідження, на основі загальної моделі екосистеми артефактів програмного забезпечення була розроблена декларативна модель екосистеми стилю програмування. Запропоновано трирівнева модель артефакту стилю програмування. Розроблено та описано інструменти та процеси для створення та використання артефакту стилю програмування.Problems in programming 2020;4: 110-120 Інститут програмних систем НАН України 2021-01-25 Article Article application/pdf https://pp.isofts.kiev.ua/index.php/ojs1/article/view/444 10.15407/pp2020.04.110 PROBLEMS IN PROGRAMMING; No 4 (2020); 110-120 ПРОБЛЕМЫ ПРОГРАММИРОВАНИЯ; No 4 (2020); 110-120 ПРОБЛЕМИ ПРОГРАМУВАННЯ; No 4 (2020); 110-120 1727-4907 10.15407/pp2020.04 en https://pp.isofts.kiev.ua/index.php/ojs1/article/view/444/448 Copyright (c) 2021 PROBLEMS IN PROGRAMMING
institution Problems in programming
baseUrl_str https://pp.isofts.kiev.ua/index.php/ojs1/oai
datestamp_date 2024-04-26T22:46:31Z
collection OJS
language English
topic software engineering
software artifact
software ecosystem
programming
programming style
ontology
UDC 004.415.2. (043.3)
spellingShingle software engineering
software artifact
software ecosystem
programming
programming style
ontology
UDC 004.415.2. (043.3)
Sydorov, N.A.
Toward software artifacts ecosystem
topic_facet software engineering
software artifact
software ecosystem
programming
programming style
ontology
UDC 004.415.2. (043.3)
інженерія програмного забезпечення
артефакт програмного забезпечення
екосистема програмного забезпечення
програмування
стиль програмування
онтологія
УДК 004.415.2. (043.3)
format Article
author Sydorov, N.A.
author_facet Sydorov, N.A.
author_sort Sydorov, N.A.
title Toward software artifacts ecosystem
title_short Toward software artifacts ecosystem
title_full Toward software artifacts ecosystem
title_fullStr Toward software artifacts ecosystem
title_full_unstemmed Toward software artifacts ecosystem
title_sort toward software artifacts ecosystem
title_alt Відносно екосистеми артефактів програмного забезпечення
description In the process of developing and maintaining a software product, many things are created and used that are called software artefacts. Software artifacts are created, changed, reused, and change relationships in the development and maintenance processes of a software product. The complexity and variety of software artifact relationships require adequate means of description and management. They may be a software artifacts ecosystem. In the article, for the first time, a concept of a software artifact ecosystem is proposed. The concept describes a generic model of the software artifacts ecosystem, which is the Cornerstone ecosystem type and consists of three actors — the platform, the software, and the artifact. Based on the generic model, the SD model of the software artifacts ecosystem is described. The roles of actors in the ecosystem are indicated, the relationships between actors are described. The developer's activities will be more efficient, the software is understandable, and the development and maintenance is cheaper when the styles (standards) are used. As case study, based on the generic model of the software artifacts ecosystem, a declarative model of the programming style ecosystem has been developed. Three-level model of programming style artifact is proposed. The tools and processes for creating and using a programming style artifact are developed and described.Problems in programming 2020; 4: 110-120
publisher Інститут програмних систем НАН України
publishDate 2021
url https://pp.isofts.kiev.ua/index.php/ojs1/article/view/444
work_keys_str_mv AT sydorovna towardsoftwareartifactsecosystem
AT sydorovna vídnosnoekosistemiartefaktívprogramnogozabezpečennâ
first_indexed 2024-09-16T04:08:00Z
last_indexed 2024-09-16T04:08:00Z
_version_ 1818568478609637376
fulltext Теоретичні і методологічні основи програмування © N. Sydorov, 2020 110 ISSN 1727-4907. Проблеми програмування. 2020. № 4 UDC 004.415.2. (043.3) https://doi.org/10.15407/pp2020.04.110 N. Sydorov TOWARD SOFTWARE ARTIFACTS ECOSYSTEM In the process of developing and maintaining a software product, many things are created and used that are called software artefacts. Software artifacts are changed, reused, and change relationships in the development and maintenance processes of a software product. The complexity and variety of software artifact relationships require adequate means of description and management. They may be a software artifacts ecosystem. In the ar- ticle, for the first time, a concept of a software artifact ecosystem is proposed. The concept describes a generic model of the software artifacts ecosystem, which is the Cornerstone ecosystem type and consists of three actors – the platform, the software, and the artifact. Based on the generic model, the SD model of the software arti- facts ecosystem is described. The roles of actors in the ecosystem are indicated, the relationships between ac- tors are described. The developer's activities will be more efficient, the software is understandable, and the de- velopment and maintenance is cheaper when the styles (standards) are used. As case study, based on the gener- ic model of the software artifacts ecosystem, a declarative model of the programming style ecosystem has been developed. Three-level model of programming style artifact is proposed. The tools and processes for creating and using a programming style artifact are developed and described. Key words: software engineering, software artifact, software ecosystem, programming, programming style, ontology. 1. Introduction In the processes of developing and maintaining software products, many things are created and used, which are called arti- facts. Artifacts can be different in form and presentation. They can be part of a software product or provide processes for its develop- ment and maintenance, be intermediate results of processes, or be part of other artifacts. Thus, there is a huge variety of software arti- facts, including design plans, work products (specifications, architectural and detailed de- signs, code, and documentation), user stories, bug reports, tools, including for processing artifacts, but not limited to this. Various and often complex connections are established between artifacts. Artifacts change, reuse, and change links in the development and mainte- nance of a software product. Therefore, arti- facts play an important role in the software life cycle whatever of its model and require the attention of all interested parties. The software industry is constantly evolving and changing. Not only products and technologies are developing. Many software companies are experimenting with new busi- ness models, leading to fundamental changes in the structures of both the company and its client. Recently, many companies have been using the concept of “software ecosystem” to describe development, creating them around themselves or their products, taking into account customer connections. Ecosystems have shown themselves to be a promising man- agement tool, an evolving software product. The complexity and diversity of soft- ware artifact relationships require adequate description and management tools. This could be a software artifacts ecosystem. Such an ecosystem points to more detailed level than a software ecosystem, but at this level most of the approaches, methods and tools that are used in a software ecosystem can be used. In the article, for the first time, a mod- el of a software artifacts ecosystem is pro- posed. Its application is shown on the case of a programming style ecosystem. Within the conception framework, a generalized model of the software artifacts ecosystem is de- scribed. The ecosystem belongs to the Cornstoun ecosystem type and consists of three actors – platform, software and artifact. The roles of actors in the ecosystem are indi- cated, connections between actors are de- scribed. The types, rules, and attributes of actors, relationships, and actions can be re- fined for specific software artifacts ecosystem models. The same applies to analyzing eco- system properties. Based on the generic model of the software artifacts ecosystem, a declarative model of the programming style ecosystem has been developed. The programming style Теоретичні і методологічні основи програмування 111 is an artifact that plays an important role in the development and maintenance of soft- ware. The description of the processes of cre- ation and the use of the programming style is made by using the ontology. 2. Related works Software artifacts. In the software life cycle to support the processes of creating and maintaining a software product, many differ- ent artifacts are created and used. Wide rang- es of components are considered as artifacts, from documentation, work products and their parts, to auxiliary tools. Interacting, artifacts ensure the efficient execution of software life cycle processes. In [1], artifacts are analyzed in the context of reuse as equipment in the sense of work [2]. At the same time, three goals (writ- ing, processing and transferring artifacts) and three aspects of equipment (the in-order-to of equipment, readiness-to-hand, presence-and- hand) are considered. In addition, since arti- facts are analyzed as reusable components that are embedded in the created software product, their characteristics are taken into account: holism, commonality, reusability and maturity. Considering an artifact as hardware – a thing built into the context of a software product, the interaction of the specified char- acteristics of software artifacts is investigated. In [3], artifacts are considered in the context of a software product line and are divided into three types – architecture, shared components, and components made from shared ones. For each type of artifacts, three levels of maturity are identified, depending on the degree of integration of the artifact of the corresponding type into the software product line. In [4], artifacts are considered as information parts that are created, modified and used in the RUP processes. Artifacts can be of different types and take different forms, from UML models to executable code, and can be used in the creation and maintenance of a software product. Artifacts are the input and output of actions in RUP processes. In [5], software documentation as an artifact is considered. Artifact as a means of representing infor- mation about software is defined. A mainte- nance model of documentation as a software artifact is introduced. Artifact modeling. In the following works, attempts are made to build a model of the artifact. The paper [6] presents a metamodel for software artifacts aiming at providing a new and structured way to represent artifact content, other than current sections hierarchy. This work defines an extension to UML/MOF and SPEM meta-models by means of layers. The paper [7] discusses the theoretical foun- dations for the representation and interpreta- tion of software artifacts. Based on different levels of perception of artifacts by a person – the user of artifacts introduces three levels of representation of artifacts – physical (physical representation), structural (syntactic structure) and semantic (semantic content). In addition, two steps for processing artifacts - parsing the physical representation, and analyzing the syntactic structure – the result of the first step (interpretation) are introduced. A meta model of artifacts is built on the basis of presentation levels and processing steps. The work [8] considers the architecture of tools that provide the creation and maintenance of metadata about software artifacts, which form an envi- ronment consisting of resources – develop- ment artifacts. Tools to manage the artifact environment are used. Artifacts in software development. The experience of using artifacts in life cycle processes in several works is considered. In [9], artifact-oriented development of embedded systems is considered. A con- ceptual model of artifact-oriented develop- ment is proposed, examples of its use are giv- en. In [10], artifact-oriented model-driven development is considered. Details a better understanding on how explicating artifacts and their relations facilitates traceability of artifacts, change impact analysis, and interop- erability of software tools are considered. The paper [11] concentrates on the paradigm arte- fact-orientation in requirements engineering and presents a meta model. This meta model is inferred from two concrete domain specific requirements engineering models: one for the application domain of embedded systems and one for the application domain of business information systems. In [12] shown, that сcol- laborative development of software products across organizational boundaries in software Теоретичні і методологічні основи програмування 112 ecosystems adds new challenges to existing software engineering processes. A new ap- proach offered for handling the diverse soft- ware artefacts in ecosystems by adapting fea- tures from social network sites. In paper [13], an industrial survey to create an Activity- Based Artifact Quality Model to define what this means from a stakeholder’s viewpoint is proposed. Specifically was conducted. Quali- ty factors of test artifacts that have a positive or negative impact on the activities of Agile testers are explored. Quality model contains 16 quality factors for six test artifacts that are reportedly relevant to at least five stakehold- ers in the process. In paper [14] reference model and a metamodel for traceability are proposed. The reference model, defined by the conceptual basis, may be used in the crea- tion of traceability approaches. The reference model was used to develop a metamodel. In paper [15], a generic artifact model based on an empirical investigation is proposed. The results of a mapping study in combination with a sys- tematic literature review to analyze the usage of artifacts in agile methods are presented. Towards a software artifacts ecosys- tem. We are not aware of any work directly devoted to the consideration of problems as- sociated with the study of software artifacts ecosystems. However, there are works, the results of which can be used to solve these problems. In [16], attention is rightly drawn to the fact that in software ecosystems, atten- tion is now paid to the participants only at the top level - these are organizations and teams that create, implement and maintain software products. However, there is a lower level – artifacts, the role of which in the life cycle processes can hardly be overestimated. In [17], there are requirements for describing and analyzing software ecosystems, which in our paper to model software artifacts ecosys- tems are used. 3. The generic model of software ar- tefacts ecosystem This section discusses a generic model of the software artifact ecosystem. Several methods are now used to model software eco- systems [18]. The application of a particular method depends on the type of ecosystem and the goals of the modeling. To represent the software artifacts ecosystem, this work uses the i* modeling approach [19]. In contrast to the most commonly used SSN method, which focuses on describing the software ecosystem at the top level (product, developer, vendor, user), the i* approach provides a description of the ecosystem of a more detailed software presentation layer that corresponds to the lev- el software artifacts. Fig. 1 presents generic model of the software artifacts ecosystem. When designing an ecosystem, two groups of requirements are used [17]: descriptive and analytical. The first group includes the require- ments for the definition of actors, connections between them and their actions. In addition, the requirements for determining the types, rules and attributes of actors, connections and actions are formulated, as well as the re- quirements for determining the specific char- acteristics of both the ecosystem as a whole and its elements, for example, productivity, efficiency, security. Fig. 1. The generic model of the software artifacts ecosystem Теоретичні і методологічні основи програмування 113 The second group includes require- ments for defining characteristics that provide analysis of the ecosystem from incentives and motivation to sustainability and productivity. Table the actors and roles in the soft- ware artifacts ecosystem are given (Tabl 1). The software artifacts ecosystem belongs to the Cornerstone type, since the basis of the ecosystem is a technological platform for the development and maintenance of software, the functionality of which is extended by us- ing artifacts [20]. Thus, the actors of the eco- system are a platform with a management role, software with a software product role, an artifact with a support service provider role. Common connections between actors can be indicated (Fig. 2). The platform, in the con- text of which such components as the life cycle model, organizational and technical support for development and maintenance are considered, defines and uses the artifact as an auxiliary means of implementing processes and filling the structure of a software product. The software depends on the platform, which is the main mean for the implementation of development and maintenance processes. The platform uses the artifact directly as a compo- nent in the software structure or indirectly as a means of improving the efficiency of the platform's processes. The types, rules, and attributes of ac- tors, relationships, and actions can be refined for specific ecosystem models of a software artifact. The same applies to meeting the re- quirements for the analysis of ecosystem properties [17]. Table 1. Actors and roles in the software artifacts ecosystem Ecosystem type Actors The role of the actor in the ecosystem Cornstoun ecosystem Platform Orchestration Software Product Artefact Support service provider Fig. 2. The SD model of the software artefact ecosystem Теоретичні і методологічні основи програмування 114 4. Case study. The programming style ecosystem Today, methods and tools that are based on reuse have become widespread for the development and maintenance of software products. The application of these methods and tools requires the developer to read, ana- lyze and understand a significant number of representations of work products from differ- ent phases of the software life cycle. Reuse is now widespread from requirements specifica- tions to source code and documentation. Therefore, one of the main requirements for software is understandability. The developer's activities will be more efficient, the software is understandable, and the development and maintenance is cheaper when the styles (standards) are use. They will ensure that the work products of different phases of the life cycle are understandable [21]. Fig. 3 shows the model of a program- ming style ecosystem, which is built based on a generic model of a software artifact ecosys- tem (Fig. 1). The artifact in this model is the pro- gramming style, and the actor, the software, is represented by that part of it – the source code for which the programming style is applied. Artifact – the programming style is platform- specific, as the style rules depend on a num- ber of platform conditions, such as the pro- gramming language, management goals, sche- dule, risks, and project budget. The program- ming style is used in the source code con- struction (the phase of software live cycle) and affects the efficiency of the construction and maintenance processes. Based on the artefact model from work [7], described the programming style artefact by the three levels of perception and the two processing steps (Fig. 4). Level 1 – Semantic content. The con- tent represents the meaning of an artefact. The content is interpreted in the context of the individual knowledge of the stakeholder (pro- grammer) or the interpreter of the machine (in this case – Protégé The content is based on the rules of the programming style, which are described by the ontology. Level 2 – Syntactic Structure. The structure of an artifact represents the syntactic expression of its content. The structure of the artifact is described in Web Ontology Lan- guage (OWL). Level 3 – Physical Representation. The artefact is represented in the file of OWL text format. There are two the processing steps. Processing Step 1 – Parsing. The out- come of the parsing process is the syntax structure of the artefact. This process is per- formed by the OWL parser implemented us- ing the OWL API [22]. Processing Step 2 – Interpretation. In- terpretation is the process of extracting the content (i.e. the meaning) from the structure. This process is performed by Protégé system. Fig. 3. The SD model of programming style ecosystem Теоретичні і методологічні основи програмування 115 Semantics (Content) Syntax (Structure) Physical Representation Protégé Parsing Interpretation Include Composite structure Content structure Meaning Fig. 4. The levels of perception of programming style artefact The characteristics of the domain in which the style is applied are given in tab. 2. [21]. The activities of a programmer in a do- main are shown in Fig. 5. The use of the pro- gramming style as an artifact involves the implementation of three processes [23]: the creation of an artifact, as a result of which the programming language style is built, the use of the style when programs are writing and the process changed of the artifact. Table 2. Characteristics of the style of the program domain Epoch Characteristic Property Factors Means Period Idea Principle of im- portance Historical Social Style Elements Application of standards in coding 2000 Readability, quality, safety Productivity, maintenance Standar- dization Programming team, re- quirements Modular, mega pro- gramming Composition, classification in program- ming languages Теоретичні і методологічні основи програмування 116 Programmer Programming language style Program Studies style Gets style Writes the text of the program Gets style Fig. 5. Domain sequence diagram In fig. 6. The ontology of creating a programming style is presented. The ontology describes in detail the participants and actions taking place in this regard in the programming style ecosystem. All ontology concepts are categorized as resources in i* terminology, with the exception of the <<event>> concept, which represents a goal. At the same time, the concepts Coding phase, Party, Programming language refer to the Platform actor, and the concepts Creating work product style, Style party create guide, Style and Programming language style to the Programming style actor. Has-Knowledge-in <<kind>> Coding phase <<category>> Party <<event>> Creating work products style <<associative>> Style party create guide 1 1 11 Is-part-of <<kind>> Team <<kind>> Person uses Is- created-according-to 1 ** Governs <<kind>> Programming language style * * Is-part-of 1 * <<kind>> Programming language <<category>> Style 1 1 Fig. 6. Ontology of programming style creation Теоретичні і методологічні основи програмування 117 Fig. 7. The ontology of using the pro- gramming style is presented. An ontology describes the relevant actors and activities in a programming style ecosystem. The Party, Coding phase concepts belong to the Platform actor, the Program, Program style concepts to the Software actor, and the Using work prod- uct style, Style party using guide, Program language style concepts to the Programming style actor. To implement the processes of creat- ing and using a programming style, tools are created that can be considered, on the one hand, as resources of the Programming style artifact, and on the other hand, as artifacts as part of the Platform artifact. These include the programming style knowledge base and the Reasoner. Thus, the programmer, while cod- ing the program, applies the ontology of the programming style, both for learning the style and for checking the observance of the style in the program. Therefore, two tools are need- ed - one to create an ontology and support the programmer in the coding process, and the second, to control the application of the pro- gramming style in the source code of the pro- gram (Fig. 8) [23]. Has-Knowledge-in <<kind>> Coding phase <<category>> Party <<kind>> Program <<kind>> Programming language style <<event>> Using work product style <<associative>> Style party using guide 1 1 1 1 Is-part-of Use <<kind>> Team <<kind>> Person 1 * uses Is- created-according-to 1 ** Governs aquire <<kind>> Program style 1 1 aquire <<kind>> Party style aquire 1 * Fig. 7. Ontology of using programming style Fig. 8. Tools usage diagram Теоретичні і методологічні основи програмування 118 The style analyst, using the first tool - Protégé, setting up the ontology to the appro- priate programming style, creating a TBox (Fig. 6). After setting up, the programmer is introduced to the programming style with the help of Protégé. The second tool is functional- ly similar to the reasoner, but adds a function for identifying style errors. In terms of de- scriptive logic, the reasoner verifies the con- sistency of the ontology (Fig. 9). Fig. 9. Knowledge base of programming style Protégé is used to create TBox. It is part of an ontology with terms describing a programming style. Assertions about the source code (ABox) written by the programmer are created by the corresponding part of the reasoner. It provides the appropriate service using the knowledge base (TBox and ABox). The service includes, firstly, the verification of the consistency of the ontology (a direct function of the reasoner), and secondly, the search for stylistic errors in the source code of the program. 5. Results Analysis and Discussion The results are a development of the solutions obtained in the works of the author [21–24]. For the first time, the concept of the software artifact ecosystem is proposed. Within the framework of the concept, the ge- neric model of the software artifact ecosystem is described. Model belongs to the Cornstoun ecosystem type and consists of three actors – platform, software, and artifact. The roles of actors in the ecosystem are indicated, connec- tions between actors are described. Based on the generic model of the software artifact eco- system, a declarative model of the program- ming style ecosystem has been developed. The programming style is an artifact that plays an important role in the development and maintenance of software. Using [7], a three-level artifact model of - programming style is proposed. The description of the pro- cesses of creating and using a programming style is made by applying the ontology. In continuation of research of the software arti- fact ecosystem, the description of the actors of the ecosystem will be expanded and the types, rules and attributes of actors, links and actions will be developed. In addition, the metric provision of the ecosystem in relation to determining the effectiveness, sustainabil- ity and reliability of the ecosystem of soft- ware artifacts will consider. The work done in research “Research on software artifacts ecosystems”, № 0120U104329. References 1. Nuwangi S.M., Darshana S. Software arte- facts as equipment: a new conception to soft- ware development using reusable software ar- tefacts. Thirty-Sixth International Conference on Information Systems. 2015. Texas, USA. 2. Heidegger M. (1927/1962) Being and Time, Translated by John Macquarrie & Edward Robinson. USA: Harper & Row. 3. Bosch J. Maturity and Evolution in Software Product Lines: Approaches, Artefacts and Or- ganization, Software Product Lines, Second International Conference, SPLC 2, San Diego, CA, USA, August 19–22, 2002, 4. Rational Unified Process: Best Practices for Software development Teams, Rational Soft- ware White Paper TP026B, Rev. 11/01. 1998. 18 p. 5. Glass R. Software maintenance documenta- tion, SIGDOC '89, Pittsburg, Pennsylvania, USA, ACM Press. 1989. Р. 18 – 23. 6. Silva M., Oliveira T., Bastos R., Software Artifact Metamodel, XXIII Brazilian Sympo- sium on Software Engineering, 2009. P. 176 – 186. 7. Fernandez D M., Bohm W., Broy M. Arte- facts in Software Engineering: A Fundamental Positioning, International Journal on Software and Systems Modeling. 2018. 26. 9 p. https://www.researchgate.net/publication/242502052_Software_Product_Lines_Second_International_Conference_SPLC_2_San_Diego_CA_USA_August_19-22_2002_Proceedings https://www.researchgate.net/publication/242502052_Software_Product_Lines_Second_International_Conference_SPLC_2_San_Diego_CA_USA_August_19-22_2002_Proceedings https://www.researchgate.net/publication/242502052_Software_Product_Lines_Second_International_Conference_SPLC_2_San_Diego_CA_USA_August_19-22_2002_Proceedings Теоретичні і методологічні основи програмування 119 8. Dewar R.G. Managing Software Engineering Artefact Metadata, Department of Computer Science, Heriot-Watt University, Edinburgh, UK. (2005) 9. Bohm W., Vogelsang A. An Artifact-oriented Framework for the Seamless Development of Embedded Systems, Model-Based Engineer- ing of Embedded Systems. Springer Berlin Heidelberg. 2012. P. 225–234. 10. Butting, A., Greifenberg T, Rumpe B. Wort- mann: A. On the Need for Artifact Models in Model-Driven Systems Engineering Projects. In: Software Technologies: Applications and Foundations, LNCS 10748. Springer. 2018. P. 146–153. 11. Fernández D.M., Penzenstadler B., Kuhrmann M., Broy M., A Meta Model for Artefact- Orientation:Fundamentals and Lessons Learned in Requirements Engineering, Lec- ture Notes in Computer Science. October 2010. 12. Seichter D., Dhungana D., Pleuss A., Haupt- mann B. Knowledge Management in Software Ecosystems: Software Artefacts as First-class Citizens. ECSA 2010. August 23–26, 2010. Copenhagen. Denmark. P. 119–126. 13. Fischbach J., Mendez D. What Makes Agile Test Artifacts Useful? An Activity-Based Quality Model from a Practitioners’ Perspec- tive, ESEM ’20, October 8–9, 2020, Bari, Italy. 14. Azevedo B., Jino M., Modeling Traceability in Software Development: A Metamodel and a Reference Model for Traceability, ENASE, School of Electrical and Computer Engineer- ing. University of Campinas, Brazil, 8 p. 15. Kuhrmann M., Fernández D., Towards Arti- fact Models as Process Interfaces in Distribut- ed Software Projects, IEEE workshop pro- ceedings, 10 p. 16. Seichter D., Dhungana D., Pleuss A., Haupt- mann B. Knowledge Management in Software Ecosystems: Software Artefacts as First-class Citizens, ECSA 2010 August 23–26, 2010. Copenhagen. Denmark. P. 119–126. 17. Sadi M., Yu E. Designing Software Ecosys- tems: How Can Modeling Techniques Help? Springer-Verlag, Berlin Heidelberg. 2015. 15 p. 18. Sydorov N. Software Ecology. Software En- gineering. 2010. Р. 53–61. 19. Yu E. Modelling Strategic Relationships for Business Process Reengineering. Ph.D., the- sis. Dept. of Computer Science, University of Toronto. 1995. 20. Knodel J., Manikas K. Towards a typification of software ecosystems. In Fernandes et al. Software Business – 6th International Confer- ence. ICSOB 2015. Braga, Portugal. June 10– 12, 2015. Proceedings 2015. vol. 210 of Lec- ture Notes in Business Information Pro- cessing. Springer. Р. 60–65. 21. Sydorov N.A. Software Stylistics. Problems of Programming. 2005. 2,3. P. 245–254. 22. Sidorov N., Sidorova N., Pirog A. Ontology- driven tool for utilizing programming styles. Вісник НАУ. 2017. Том 71. № 2. С. 84–93. 23. Sydorov N., Sydorova N., Sydorov E., Cholyshkina O., Batsurovska I. Development of the approach to using a style in software engineering. Eastern-European Journal of Enterprise Technologies. 2019. 4/2 (100). P. 41–51. 24. Sydorov N.A., Sydorova N.N., Sydorov E.N. Description model of programming style ecosystem. Problems in programming, special issue. Proceeding of the UkrProg'2020. N 2–3. P. 74–81. Література 1. Nuwangi S.M., Darshana S. Software arte- facts as equipment: a new conception to soft- ware development using reusable software ar- tefacts. Thirty-Sixth International Conference on Information Systems. 2015. Texas, USA. 2. Heidegger M. (1927/1962) Being and Time, Translated by John Macquarrie & Edward Robinson. USA: Harper & Row. 3. Bosch J. Maturity and Evolution in Software Product Lines: Approaches, Artefacts and Or- ganization, Software Product Lines, Second International Conference, SPLC 2, San Diego, CA, USA, August 19–22, 2002, 4. Rational Unified Process: Best Practices for Software development Teams, Rational Soft- ware White Paper TP026B, Rev. 11/01. 1998. 18 p. 5. Glass R. Software maintenance documenta- tion, SIGDOC '89, Pittsburg, Pennsylvania, USA, ACM Press. 1989. Р. 18 – 23. 6. Silva M., Oliveira T., Bastos R., Software Artifact Metamodel, XXIII Brazilian Sympo- sium on Software Engineering, 2009. P.176–186 7. Fernandez D M., Bohm W., Broy M. Arte- facts in Software Engineering: A Fundamental Positioning, International Journal on Software and Systems Modeling. 2018. 26. 9 p. 8. Dewar R.G. Managing Software Engineering Artefact Metadata, Department of Computer https://www.researchgate.net/publication/242502052_Software_Product_Lines_Second_International_Conference_SPLC_2_San_Diego_CA_USA_August_19-22_2002_Proceedings https://www.researchgate.net/publication/242502052_Software_Product_Lines_Second_International_Conference_SPLC_2_San_Diego_CA_USA_August_19-22_2002_Proceedings https://www.researchgate.net/publication/242502052_Software_Product_Lines_Second_International_Conference_SPLC_2_San_Diego_CA_USA_August_19-22_2002_Proceedings Теоретичні і методологічні основи програмування 120 Science, Heriot-Watt University, Edinburgh, UK. (2005) 9. Bohm W., Vogelsang A. An Artifact-oriented Framework for the Seamless Development of Embedded Systems, Model-Based Engineer- ing of Embedded Systems. Springer Berlin Heidelberg. 2012. P. 225–234. 10. Butting, A., Greifenberg T, Rumpe B. Wort- mann: A. On the Need for Artifact Models in Model-Driven Systems Engineering Projects. In: Software Technologies: Applications and Foundations, LNCS 10748. Springer. 2018. P.146–153. 11. Fernández D.M., Penzenstadler B., Kuhrmann M., Broy M., A Meta Model for Artefact- Orientation:Fundamentals and Lessons Learned in Requirements Engineering, Lec- ture Notes in Computer Science. October 2010. 12. Seichter D., Dhungana D., Pleuss A., Haupt- mann B. Knowledge Management in Software Ecosystems: Software Artefacts as First-class Citizens. ECSA 2010. August 23–26, 2010. Copenhagen. Denmark. P.119–126. 13. Fischbach J., Mendez D. What Makes Agile Test Artifacts Useful? An Activity-Based Quality Model from a Practitioners’ Perspec- tive, ESEM ’20, October 8–9, 2020, Bari, Italy. 14. Azevedo B., Jino M., Modeling Traceability in Software Development: A Metamodel and a Reference Model for Traceability, ENASE, School of Electrical and Computer Engineer- ing. University of Campinas, Brazil, 8 p. 15. Kuhrmann M., Fernández D., Towards Arti- fact Models as Process Interfaces in Distribut- ed Software Projects, IEEE workshop pro- ceedings, 10 p. 16. Seichter D., Dhungana D., Pleuss A., Haupt- mann B. Knowledge Management in Software Ecosystems: Software Artefacts as First-class Citizens, ECSA 2010 August 23–26, 2010. Copenhagen. Denmark. P. 119–126. 17. Sadi M., Yu E. Designing Software Ecosys- tems: How Can Modeling Techniques Help? Springer-Verlag, Berlin Heidelberg. 2015. 15 p. 18. Сидоров Н.А. Экология программного обеспечения. Інженерія програмного за- безпечення. 2010. № 1. C. 53–61. 19. .Yu E. Modelling Strategic Relationships for Business Process Reengineering. Ph.D., the- sis. Dept. of Computer Science, University of Toronto. 1995. 20. Knodel J., Manikas K. Towards a typification of software ecosystems. In Fernandes et al. Software Business – 6th International Confer- ence. ICSOB 2015. Braga, Portugal. June 10– 12, 2015. Proceedings 2015. vol. 210 of Lec- ture Notes in Business Information Pro- cessing. Springer. Р. 60–65. 21. Сидоров Н.А. Стилистика программного обеспечения. Проблеми програмування. 2018. 2, 3. С. 245–254. 22. Sidorov N., Sidorova N., Pirog A. Ontology- driven tool for utilizing programming styles. Вісник НАУ. 2017. Том 71. № 2. С. 84–93. 23. Sydorov N., Sydorova N., Sydorov E., Cholyshkina O., Batsurovska I. Development of the approach to using a style in software engineering. Eastern-European Journal of Enterprise Technologies. 2019. 4/2 (100). P. 41–51. 24. Сидоров Н.А., Сидорова Н.Н., Сидоров Е.Н. (2020) Дескриптивная модель экосистемы стиля программирования, Проблеми програмування, Спеціальний випуск, Матеріали конференції, УкрПрог. 2020. № 2-3. С. 74–81. Received 04.11.2020 About author: Sydorov Nikolay, Doctor of Technical Sciences, Professor, Number of scientific publications in Ukrainian publishing houses – 105. Number of scientific publications in foreign publishing houses – 35. https://orcid.org/0000-0002-3794-780X. Affiliation: National Technical University of Ukraine Igor Sikorsky Kyiv Polytechnic Institute, Department of Automated Information Pro- cessing and Control Systems, 03056, Kiev - 56, Prosp. Peremohy, 37. E-mail: nyksydorov@gmail.com https://orcid.org/0000-0002-3794-780X mailto:nyksydorov@gmail.com