Method and computer-program-product determining measures for the development, design and/or deployment of complex embedded or cyber-physical systems, in particular complex software architectures used therein, of different technical domains

In order to improve the development, design and/or deployment of the complex embedded or the cyber-physical systems and in particular the complex software architectures being included and/or used therein of the different technical domains it is proposed a sophisticated expertise or tool-significant Measure Recommendation System. This Measure Recommendation System, particularly formed by the Computer-Program-Product, is tailored to determine and provide appropriate measures to effectively improve the decision-making process during the design, development and/or deployment of the systems of the different technical domains by automatically providing Measure Determining Vectors.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims priority to PCT Application No. PCT/EP2019/055329, having a filing date of Mar. 4, 2019, which is based off of EP Application No. 18159978.8, having a filing date of Mar. 5, 2018, the entire contents both of which are hereby incorporated by reference.

FIELD OF TECHNOLOGY

The following refers to a method determining measures for the development, design and/or deployment of complex embedded or cyber-physical systems, in particular complex software architectures used therein, of different technical domains and a Computer-Program-Product determining measures for the development, design and/or deployment of complex embedded or cyber-physical systems, in particular complex software architectures used therein, of different technical domains.

BACKGROUND

In order to develop, design and/or deploy complex embedded or cyber-physical systems and especially the complex software architectures being included therein used in different technical areas, such as aerospace, automotive, chemical processes, civil infrastructure, energy, healthcare, manufacturing, transportation, entertainment, consumer appliances etc., it is expedient to make sustainable decisions during the development, design and/or deployment. The latter encompasses also the maintenance of those systems respective architectures.

Decisions are important for complex technical systems consisting of software and hardware parts. It is commonly accepted that the software architecture of the system comprises a set of (design) decisions. Taking a wrong or sub-optimal decision can have a negative impact on the overall quality of the system architecture and its technical system.

In this context

A Cyber-physical system refers to a system of collaborating computational elements controlling physical entities (https://en.wikipedia.org/wiki/cyber-physical_system in the revision of Jan. 30, 2018), whereby the technical domains could be diverse as areas like aerospace, automotive, chemical processes, civil infrastructure, manufacturing, transportation, energy, healthcare, entertainment, consumer appliance etc. and include technical capital and/or producer goods.

A Software-architecture refers to a high-level structure of a software system, the discipline of creating such a high-level structure, and the documentation of this structure (https://en.wikipedia.org/wiki/software_architecture in the revision of Mar. 1, 2018). At a broader scope, an architecture or system architecture refers to a high-level structure of a technical system analogously.

A (Design-)Decision or a set of (Design-)Decisions is the basic component of a architecture or system-architecture. System architects regularly make decisions not only during the initial definition of the architecture but also during maintenance of the technical system. Decisions address stakeholders' concerns which affect the elements of technical systems.

During the decision-making process, individuals like architects and developers favor a naturalistic approach for the decision making [1] to [3].

In this regard, personal experience and knowledge of architects and developers play a crucial role in the decision-making process [3], [4].

Empirical studies have shown that compared to novices, experienced architects and developers effectively explore the problem space and use efficient decision-making strategies [5].

However, there is the inherent problem of finding experienced architects, who especially possess adequate knowledge to solve a particular problem. Moreover, the quantification of personal experience is still an open challenge. For example, this claim is supported by one of the discussion points at the International Conference on Software Architecture 2017 conference [6]:

“Identification of ‘architecture skills’ within organizations and projects: Who or what are sources of architectural expertise and competencies in organizations and how can we identify them? . . . .”

The problem is intensified by the fact that complex embedded or cyber-physical systems are large and involve large development teams. A manual selection of appropriate measures to be taken as done today, leads to a sub- or non-optimal selection of individuals. These individuals in turn may take sub-optimal or wrong decisions leading to a non-optimal architecture and functioning of the technical system.

Thus it is still a challenge to find appropriate measures, especially finding appropriate experts or tools, in order to develop, design and/or deploy complex system architectures and more general to develop, design and/or deploy complex embedded or cyber-physical systems.

The process of determining appropriate or best-fitting measures, especially experts or tools, to take decisions during the development or maintenance of a technical system is a manual process relying on humans who possess an overview over the technical system and particularly the skills of all the members of the development team of the technical system. Of course, a knowledge base can be set up and filled with experts' skills, but this only shifts the problem because it remains a manual task that again requires the expertise to fill the knowledge base with correct skill information. Further, manually created knowledge bases are prone to outdated data, which poses an additional risk for the decision making process.

SUMMARY

An aspect relates to propose a Method and Computer-Program-Product (non-transitory computer readable storage medium having instructions, which when executed by a processor, perform actions) determining measures for the development, design and/or deployment of complex embedded or cyber-physical systems, in particular complex software architectures used therein, of different technical domains, wherein the Method and the Computer-Program-Product improve each the development, design and/or deployment of the complex embedded or cyber-physical systems and in particular the complex software architectures being included and/or used therein such that the above-discussed aspects are addressed.

The underlying idea of embodiments of the invention is to provide a method and Computer-Program-Product for improving the quality of complex embedded or cyber-physical systems and their (software) architectures by means of a sophisticated expertise or tool-significant Measure Recommendation System. This Measure Recommendation System, particularly formed by the Computer-Program-Product, is tailored to determine and provide appropriate measures to effectively improve the decision-making process during the design, development and/or deployment of systems of different technical domains by automatically providing Measure Determining Vectors.

So Proposed is a method and Computer-Program-Product each determining measures for the development, design and/or deployment of complex embedded or cyber-physical systems, in particular complex software architectures used therein, of different technical domains such that both, the method and the Computer-Program-Product automatically provide a Measure Determining Vector due to which a measure is recommended, such like an expert or a tool, who or which is appropriate to solve a specific problem in the development, design and/or deployment of the complex embedded or cyber-physical systems, in particular the complex software architectures, addressed by an issue.

The idea is to automatically derive from an Issue Tracking System <ITS>, which is designed as a Issue Tracking Database System <ITDBS> based on different kinds of data sources, such as JIRA, GitHub or Whiteboard, and including numerous resolved issues, wherein the resolver of the issue could be an expert or a tool, and at least one unresolved issue, which has to be resolved, a resolver-related Issue Evaluation Matrix <IEM>, which could be for instance an expertise matrix or tool-significant matrix, that defines for resolvers of the issues (i.e. potential experts or appropriate tools) with regard to recommending measures how experienced the said persons (the experts) or how appropriate the said tools are for certain topics.

The matrix itself is automatically filled with data extracted from the Issue Tracking System. With regard to the unresolved issue and for every new decision to be taken accordingly, the best suited expert, i.e. architect, designer or developer, or the most appropriate tool will be determined by using the matrix. An example of such a matrix is depicted inFIG. 8, which shows an excerpt of an expertise matrix derived from a publicly available Issue Tracking Database System for an Open Source Software System.

To reach the addressed goal

(i) the Issue Tracking Database System, which maintains all issues relevant for the development, design and/or deployment of the complex embedded or cyber-physical systems and in particular the complex software architectures,

(ii) the Measure Recommendation System, which analyzes and processes the issues and finally deliver recommendations respectively determine the measures based on the Measure Determining Vector,

(iii) a Knowledge Database System <KDBS> keeping all the relevant information that is required for the Measure Recommendation System as well as the results produced by the Measure Recommendation System and

(iv) an Ontology Database System <ODBS>, such like DBpedia, that is used to determine terms that are relevant in the context of the expertise or tool-significance form a functional unit (cf.FIGS. 1Aand B1).

The Issue Tracking Database System (based upon https://en.wikipedia.org/wiki/Issue_tracking_system in the revision of Jan. 18, 2018), sometimes also referred to as: trouble ticket system, support ticket system, request management system or incident ticket system, is a computer software package that manages and maintains lists of issues, as needed by an organization. Issue Tracking Database Systems are commonly used in an organization to create, update, and resolve reported customer issues, or even issues reported by that organization's other employees. A support ticket should include vital information for the account involved and the issue encountered. An Issue Tracking Database System often also contains according to https://en.wikipedia.org/wiki/Knowledge_base in the revision of Feb. 13, 2018 information on each customer, resolutions to common problems, and other peripheral information. An Issue Tracking Database System is similar to a “Bug Tracker”. Often a software company will use both. Some “Bug Trackers” are capable of being used as an Issue Tracking Database System and vice versa. The consistent use of an Issue or Bug Tracking Database System is considered as one of the “hallmarks of a good software team”.

Saying this, the idea can be applied to the design, development and/or deployment of any technical system that uses some kind of issue tracking, not only limited to the Issue Tracking Database System.

The proposed approach, which is followed with the teaching according to embodiments of the invention, lies therein that in an Issue Evaluating Phase as a preliminary step, in which data of resolved issues is extracted from an Issue Tracking Database System (e.g. JIRA and GitHub issue tracker) and evaluated, and in a Measure Determining Phase as a subsequent step, in which measures, such like experts or tools, for newly unresolved issues inputted or inserted into the Issue Tracking Database System, are recommended or determined,

the Issue Tracking Database System is used in order to consider the history of decisions. The use of Issue Tracking Database Systems for managing system-related issues is becoming popular both in industrial settings as well as in open source system projects. The decisions—in spite of being important for system architectures and the development, design and/or deployment—are often not explicitly documented for technical systems, whereas decisions in such issue trackers [7] are implicitly captured. A decision might be the selection of a particular component due to adequate physical properties or the application of a certain pattern to address a specific problem.

the overload of information in large systems is addressed (semi-)automatically by at least partially applying a machine learning algorithm to identify decisions in the Issue Tracking Database System and to classify them into categories.

a Knowledge Database System is used to store, manage and provide the relevant information.

Finally, the proposed approach is that in the Measure Determining Phase an algorithm uses the Knowledge Database System to recommend respective determine measures to resolve the new unresolved issues.

With this approach efforts to quantify expertise or tool-significance by analyzing decisions made by architects, designers and/or developers in their past for ongoing projects with the help of an Issue Evaluation Matrix <IEM>.

This allows one

to further search within the matrix to find people with relevant expertise or tools with appropriate significance so as to deal with specific concerns in a quantitative manner in order to foster a faster development, design of technical systems by choosing the right experts or tools for the right problem.

to find experts or tools to solve a problem in complex technical systems by using the Issue Tracking Database System thereby addressing the overload of information by a periodic automatic extraction and categorization of decisions.

to maintain relevant information being required in the Knowledge Database System.

to periodically access the Issue Tracking Database System and to copy the content into the Knowledge Database System in a flexible manner using appropriate data structures, thereby maintaining the Knowledge Database System automatically.

to detect decisions in the imported issues from the Issue Tracking Database System.

to classify detected decisions.

to determine architectural elements in the decisions by either using a static knowledge base or by accessing the Ontology Database System, such like DBpedia.

to determine the relevance of architectural elements in a decision.

to extract the “assignee” from the issue to populate the Knowledge Database System with individuals—the experts.

to build the Issue Evaluation Matrix, e.g. an expert matrix or a tool matrix concerning tool-significances, specifying and quantifying the expertise of individuals or the tool-significances with regard to relevant elements.

to match new decisions in the inputted or inserted unresolved issues with the matrix to determine and rank experts/tool-significances, who/which are suited for solving the decision.

DETAILED DESCRIPTION

FIGS. 1Aand B depict the basic structure of a Measure Recommendation System MRS determining and providing an appropriate measure MEA to effectively improve the decision-making process during the design, development and/or deployment of complex software architectures used in complex embedded or cyber-physical systems of different technical domains. To do so the Measure Recommendation System MRS is connected or assigned to a Issue Tracking Database System ITDBS, a Knowledge Database System KDBS and a Ontology Database System ODBS thereby forming a functional unit with these systems in order to determine the measure MEA.

The Issue Tracking Database System ITDBS comprises an Issue Tracking Management System ITMS and Issue Tracking Database ITDB, in which either resolved issues Irsor unresolved issues Iurs, being each structured or unstructured so for instance regarding an issue type and issue format, are put in. This inputting (input) or inserting (insertion) of the issues Irs, Iursand also the lateron outputting from the Issue Tracking Database ITDB is done via the Issue Tracking Management System ITMS. The issues Irs, Iurscan come from different data sources such as (a) JIRA, which is a proprietary issue tracking product allowing bug tracking and agile project management, (b) GitHub, which is a development platform to host and review code, to manage projects and to build or create software, and (c) whiteboard presentations such as notes and drawings.

Comparable structures have the Knowledge Database System KDBS and the Ontology Database System ODBS. So the Knowledge Database System KDBS, which serves as a kind of a access option of data for the Measure Recommendation System MRS regarding access data being at least temporarily buffered and read, comprises a Knowledge Management System KMS and a Knowledge Database KDB, in which the access data is buffered and read. This buffering and reading is done via the Knowledge Management System KMS.

And the Ontology Database System ODBS, which serves as an access database for the Measure Recommendation System MRS regarding ontology-based general data GDA and is designed as DBpedia, comprises a Ontology Management System OMS and a Ontology Database ODB, in which the data GDA is put in and stored. The DBpedia Database (a) is a crowd-sourced community effort to extract structured content from the information created in various Wiki-related media projects, (b) stores knowledge in a machine-readable form and provides a means for information to be collected, organized, shared, searched and utilized and (c) is served as linked data thereby revolutionizing the way applications interact with the Web. The inputting (input) or inserting (insertion) and storing of the general data as well as the lateron outputting of the general data GDA is done via the Ontology Management System OMS.

To serve the functional unit, the Measure Recommendation System MRS is designed as a Computer-Program-Product CPP comprising primarily a non-transitory, processor-readable Storage Medium STM having processor-readable program-instructions of Program Modules PGM for the measure determination stored therein and a Processor PRC connected with the storage medium STM executing the processor-readable program-instructions to determine the measure MEA. Moreover the Computer-Program-Product CPP comprises a User Interface UI, which is connected to the Processor PRC, for outputting the measure MEA.

In order to determine and provide the measure MEA, the Processor PRC is operated in two operation modes in which an Issue Evaluating Phase IEP and a Measure Determining Phase MDP are carried out. In these operation modes carrying out the two phases the Processor PRC has access in the context of the functional unit the Measure Recommendation System MRS is formed with the Issue Tracking Database System ITDBS, the Knowledge Database System KDBS and the Ontology Database System ODBS via the Issue Tracking Management System ITMS to the data in the Issue Tracking Database ITDB, via the Ontology Management System OMS to the data in the Ontology Database ODB and via the Knowledge Management System KMS to the data in the Knowledge Database KDB.

In the operation mode concerning the Issue Evaluating Phase IEP, the Processor PRC is executing the processor-readable program-instructions of various Program Modules PGM stored in the non-transitory, processor-readable Storage Medium STM stepwisely. So firstly (first step) IEP-related instructions of an Importing Program Module I-PGM, secondly (second step) IEP-related instructions of a Decision Detection Program Module DD-PGM, thirdly (third step) IEP-related instructions of a Element Detecting Program Module ED-PGM and fourthly (fourth step) IEP-related instructions of a Matrix Processing Program Module MP-PGM.

WhileFIG. 2shows the basic structure (a general overview) of the Issue Evaluation Phase IEP encompassing all the four steps, the single steps of the Issue Evaluation Phase IEP are depicted inFIGS. 3, 4, 5 and 8, whereinFIG. 3shows a first IEP-step,FIG. 4a second IEP-step,FIG. 5a third IEP-step andFIG. 8a fourth IEP-step.

In the operation mode concerning the Measure Determining Phase MDP, the Processor PRC is executing the processor-readable program-instructions of various Program Modules PGM stored in the non-transitory, processor-readable Storage Medium STM stepwisely. So firstly MDP-related instructions of the Importing Program Module I-PGM, secondly MDP-related instructions of the Decision Detection Program Module DD-PGM, thirdly MDP-related instructions of the Element Detecting Program Module ED-PGM, fourthly MDP-related instructions of a a Vector Processing Program Module VP-PGM and fifthly MDP-related instructions of a Measure Determining Program Module MD-PGM.

WhileFIG. 6shows the basic structure (a general overview) of the Measure Determining Phase MDP encompassing all the five steps, the single steps of the Measure Determining Phase MDP are depicted inFIGS. 7, 4, 5 and 9, whereinFIG. 7shows a first MDP-step,FIG. 4a second MDP-step,FIG. 5a third MDP-step,FIG. 6a fourth MDP-step andFIG. 9a fifth MDP-step.

Regarding the stepwise applying of the Importing Program Module I-PGM, the Decision Detection Program Module DD-PGM and the Element Detecting Program Module ED-PGM both phases IEP, MDP are identical.

The Issue Evaluation Phase IEP with its single IEP-steps is now described according to the depiction in theFIG. 1and in accordance to general overview of in theFIG. 2.

In the first IEP-step, in which the Processor PRC of the Measure Recommendation System MRS respectively the Computer-Program-Product CPP accesses the Knowledge Database System KDBS and the Issue Tracking Database System ITDBS and executes the Importing Program Module I-PGM, the resolved issues Irsstored in the Issue Tracking Database ITDB of the Issue Tracking Database System ITDBS are edited and evaluated such that the resolved issues Irsbecome normalized. This means that the issues Irsare subjected to a normalization procedure NOR being represented by Irs(NOR) [cf. second depiction inFIG. 3]. The result of the normalization procedure NOR are normalized resolved issues NOR(Irs), which are stored in the Knowledge Database KDB.

FIG. 3shows in a two-part-depiction how the first IEP-step is carried out in detail [first depiction] and how the structure of the resolved issues Irslooks like before and after the normalization procedure NOR [second depiction].

According to the second depiction the resolved issues Irsstored in the Issue Tracking Database ITDB of the Issue Tracking Database System ITDBS are commonly unstructured although it is also possible that they are already stored in a structured way. Each resolved issue Irscontains at least one identification data field concerning at least a “Resolver”-attribute R and one content related data field concerning at least “Summary”- and/or “Description”-attributes. On the left side it is depicted the resolved issue Irsbefore applying the normalization procedure NOR, and on the right side, the resolved issue Irsafter applying the normalization procedure NOR. This, in theFIG. 3, illustrated mapping between the input format on the left side and the normalized format in the Knowledge Database System can flexibly be controlled.

According to the first depiction it is depicted explicitly the Processor-based data accessing the Knowledge Database System KDB and the Issue Tracking Database ITDB as well as the Processor-based executing of the Importing Program Module I-PGM to carry out the first IEP-step. Consequently, due to a cyclic or periodical access to the Issue Tracking Database ITDB by addressing a Issue Request REQ_ISU to the Issue Tracking Database ITDB, the resolved issues Irsare read or extracted from the Issue Tracking Database ITDB. Besides the periodical or cyclic import of the resolved issues Irsby extracting or reading it is alternatively also possible to trigger the issue import by newly arriving issues from the different data sources, e.g. JIRA, GitHub, Whiteboard, etc.

In addition by executing the Importing Program Module I-PGM normalization mapping information NOR_MAP_INF requested from the Knowledge Database KDB is used. With the requested normalization mapping information NOR_MAP_INF and the extracted resolved issues Irsthe normalization procedure NOR, already mentioned in the context of the description of theFIG. 2, is carried out. Consequently, the normalization procedure NOR provides the normalized resolved issues NOR(Irs), which are stored in the Knowledge Database KDB.

The first IEP-step carried out by executing the Importing Program Module I-PGM as an extract-transform-load component of the Computer-Program-Product is not only a step, by which existing issues are imported. It is also a step, by which newly created issues are synchronized with the Knowledge Database System KDBS.

In the second IEP-step, in which the Processor PRC of the Measure Recommendation System MRS respectively the Computer-Program-Product CPP accesses the Knowledge Database System KDBS and executes the Decision Detection Program Module DD-PGM, firstly decisions DEC being inherent at least partially in the normalized resolved issues NOR(Irs) are identified and classified into categories by a machine learning algorithm and secondly the normalized resolved issues NOR(Irs) being identified and classified regarding the decisions DEC are provided with labels LAB and stored in the Knowledge Database KDB.

By this second IEP-step those normalized resolved issues NOR(Irs) are filtered for reflecting decisions DEC. This is done by the machine learning algorithm, which is a two-phase supervised algorithm based on an approach comprising the following two phases:

a) Decisions DEC are automatically detected from the normalized resolved issues NOR(Irs) [phase “Identify”; cf.FIG. 4].

b) The identified decisions DEC are automatically classified into different categories such as structural, behavioral, and non-existence decisions [phase “Classify”; cf.FIG. 4]. This is the first part of the second IEP-step.

It is proposed to use a linear support vector machine algorithm in order to automatically categorize the decisions DEC according to the aforementioned categories. However, it should be also noted that other kinds of algorithms are not excluded.

There is a training phase for each type of input source (e.g. JIRA), wherein the identification of the normalized resolved issues NOR(Irs) is trained with some subset of data. Afterwards the identification can be applied to data sources of that type. A high accuracy can be achieved if the machine learning model is trained accordingly.

In the second part of the second IEP-step the normalized resolved issues NOR(Irs) are marked with a label LAB (they are respectively labeled) either as a “decision” or “not a decision”. The normalized NOR, decision-labeled DEC, LAB issues DEC, LAB[NOR(Irs)] and their determined decision categories are stored in the Knowledge Database System KDB.

FIG. 4shows based on and referred to theFIG. 2the detailed carrying out of the two-part-related second IEP-step. So it is depicted explicitly the Processor-based data accessing the Knowledge Database KDB and the Processor-based executing of the Decision Detecting Program Module DD-PGM to carry out the second IEP-step. Consequently, due to an access to the Knowledge Database KDB by addressing firstly an Algorithm Request REQ_ALG and secondly Normalized Resolved Issue Requests REQ_NOR(Irs) to the Knowledge Database KDB an algorithm ALG respectively the normalized resolved issues NOR(Irs) are read or extracted from the Knowledge Database KDB.

In addition by executing the Decision Detecting Program Module DD-PGM and according to the first part of the second IEP-step the two-phase supervised machine learning algorithm with the two phases, the phase “Identify” and the phase “Classify”, is applied to the normalized resolved issues NOR(Irs) in order to detect automatically in the phase “Identify” the decisions DEC from the normalized resolved issues NOR(Irs) and to classify automatically in the phase “Classify” identified respectively detected decisions DEC into different categories such as “structural”, “behavioral”, etc. and non-existent decisions depicted as “ignore”.

Moreover according to the second part of the second IEP-step those normalized resolved issues NOR(Irs), the decision DEC was assigned due to the two-phase supervised machine learning algorithm with the phase “Identify” and the phase “Classify”, are marked with the label LAB. These normalized, decision-labeled issues DEC, LAB[NOR(Irs)] are then stored in the Knowledge Database System KDB in the course of the Processor's PRC access to the Knowledge Database KDB.

So theFIG. 4shows the filtering and classification of the normalized resolved issues NOR(Irs). If an issue is labeled as a decision, then it is processed in subsequent steps.

In the subsequent third IEP-step, in which the Processor PRC of the Measure Recommendation System MRS respectively the Computer-Program-Product CPP accesses the Ontology Database System ODBS, with using the “DBpedia”-ontology, and the Knowledge Database System KDBS and executes the Element Detecting Program Module ED-PGM, the content related data fields of the normalized, decision-labeled issues DEC, LAB[NOR(Irs)] are analyzed. This analysis happens in such a way that firstly on the basis of the general data GDA stored in the Ontology Database ODB of the Ontology Database System ODBS Relevant Elements Ervare determined and secondly the normalized, decision-labeled issues DEC, LAB[NOR(Irs)], which are used to determine the Relevant Elements Erv, are provided with markers MAR and stored in the Knowledge Database KDB (cf.FIG. 5).

By this third IEP-step the textual description of the normalized, decision-labeled issues DEC, LAB[NOR(Irs)], e.g. the “Summary” and “Description” attributes of the resolved issues Irsaccording to the depiction in theFIG. 3is analyzed and the Relevant Elements Erv, determined within the description are marked in the Knowledge Database KDB. This means that normalized, decision-labeled, element-marked issues Erv, MAR{LAB[NOR(Irs)]} are stored in the Knowledge Database KDB. So in summary it can be said that by this third IEP-step the Relevant Elements are extracted from the textual description of the normalized, decision-labeled issues and the normalized, decision-labeled, element-marked issues are persisted in the Knowledge Database KDB.

The Relevant Elements Ervare topics such as selected hardware components, architectural styles, patterns, components, technologies, and so on. For this analysis the usage of the broad cross-domain Ontology Database ODB, like DBpedia, is suggested in order to determine the Relevant Elements Erv. Instead of DBpedia as the broad cross-domain Ontology Database ODB there are also other sources possible.

FIG. 5shows based on and referred to theFIG. 2the detailed carrying out of the third IEP-step. So it is depicted explicitly the Processor-based data accessing the Ontology Database ODB and the Knowledge Database KDB and the Processor-based executing of the Element Detecting Program Module ED-PGM to carry out the third IEP-step. Consequently, first due to an access to the Knowledge Database KDB by addressing firstly Normalized, Decision-Labeled Issue Requests REQ_DEC, LAB[NOR(Irs)] to the Knowledge Database KDB the normalized, decision-labeled issues DEC, LAB[NOR(Irs)] are read or extracted from the Knowledge Database KDB. Then, secondly due to an access to the Ontology Database ODB by addressing a General Data Request REQ_GDA to the Ontology Database ODB the general data GDA are read or extracted from the Ontology Database ODB.

In addition by executing the Element Detecting Program Module ED-PGM the analysis is done on the basis of the normalized, decision-labeled issues DEC, LAB[NOR(Irs)] and the general data GDA. The result of the analysis could be either the determination of the Relevant Elements E, and the corresponding markers MAR of the normalized, decision-labeled issues DEC, LAB[NOR(Irs)] or the determination of non-existing Relevant Elements depicted as “ignore”. These normalized, decision-labeled, element-marked issues Erv, MAR{LAB[NOR(Irs)]} are then stored in the Knowledge Database System KDB in the course of the Processor's PRC access to the Knowledge Database KDB.

In the final fourth IEP-step, in which the Processor PRC of the Measure Recommendation System MRS respectively the Computer-Program-Product CPP accesses the Knowledge Database System KDBS and executes the Matrix Processing Program Module MP-PGM, the normalized, decision-labeled, element-marked issues Erv, MAR{LAB[NOR(Irs)]}, stored in the Knowledge Database System KDB, are processed such that according toFIG. 8an Issue Evaluation Matrix IEM, Mm,nis created, wherein

matrix elements ME, M[ri, ej] of the Issue Evaluation Matrix IEM, Mm,nare formed on the one hand by the “Resolver”-attributes R in the identification data fields of the normalized, decision-labeled, element-marked issues Erv, MAR{LAB[NOR(Irs)]} and on the other hand by the Relevant Elements Erv, determined for the normalized, decision-labeled, element-marked issues Erv, MAR{LAB[NOR(Irs)]} and

each matrix element ME, M[ri, ej] is weighted by determining the relevance of the normalized, decision-labeled, element-marked issues Erv, MAR{LAB[NOR(Irs)]} having for the matrix element ME, M[ri, ej] the same matrix element constellation.

Determining the relevance is done—according to the depiction in theFIG. 8—by counting the number of the normalized, decision-labeled, element-marked issues Erv, MAR{LAB[NOR(Irs)]} having for the matrix element ME, M[ri, ej] the same matrix element constellation.

By this fourth IEP-step according to the depiction in theFIG. 8the Issue Evaluation Matrix IEM, Mm,nis created, which can be an Expertise Matrix containing experts (resolver) for dedicated issues or a Tool-Significance Matrix. For each decision DEC, the marked LAB, MAR Relevant Elements Erv, Erv{e1, e2, . . . en} and the resolver R, R{r1, r2. . . rm}, who resolved the corresponding issue Irsin the Issue Tracking Database System ITDBS are inserted into the Matrix IEM, Mm,n, which is then persisted in the Knowledge Database KDB of the Knowledge Database System KDBS for subsequent use.

The Issue Evaluation Matrix IEM, Mm,nshown in theFIG. 8is an excerpt of the Expertise matrix for a sample dataset.

The resolvers R, R{r1, r2. . . rm} are either experts, given by their names, or tools with their tool-significance regarding the development, design and/or deployment of the complex embedded or the cyber-physical systems, which for instance use complex software architectures, used therein, of the different technical domains.

An expertise profile of the resolvers R, R{r1, r2. . . rm} in the depicted Issue Evaluation Matrix IEM, Mm,naccording to theFIG. 8is represented as rows and the Relevant Elements Erv, Erv{e1, e2, . . . en} as columns in the matrix. This expertise profile is nothing else than a Resolver Profile Vector RPV.

Mm,n=R×Erv: the matrix which captures the expertise of the experts or the significance of the tools;

Experience/Significance Atom <ESA>: a cell M[ri,ej] in Mm,nrepresents an elementary atom of experience/significance;

Each element M[ri,ej] in Mm,nrepresents the Experience/Significance Atom <ESA>.

By implementing a decision that targets specific elements, individuals gain experience related to the respective Experience/Significance Atom. The count of each Experience/Significance Atom for an individual indicates the experience level. That is, the higher the experience level of an individual for the Experience/Significance Atom M[ri,ej] is, the more experience in handling concerns related to the corresponding Relevant Element an individual has. The experience level of an individual for the Experience/Significance Atom can also be zero, which indicates that the person has not implemented a decision pertaining to that Experience/Significance Atom and quantifies that the person has no experience on that topic.

Moreover, an individual can also have expertise in zero or more Experience/Significance Atoms.

Each row M[ . . .i, . . .j] within the matrix Mm,nrepresents the Resolver Profile Vector RPV for a particular individual [ . . .i, . . .j]. A Resolver's name is extracted, for instance, from the “assignee” attribute of an issue, which represents the Resolver who resolved this issue and gained experience. Using this expertise profile respectively the Resolver Profile Vector RPV, the experience of individuals can be quantitatively assessed corresponding to each Relevant Element Erv, Erv{e1, e2, . . . en}.

The higher the number of a cell within the matrix, the higher the value for the corresponding Experience/Significance Atom M[ri,ej]). Once the matrix is generated for a technical domain related project concerning the development, design and/or deployment of the corresponding complex embedded or the cyber-physical system, it is persisted in the Knowledge Database System and further used to create a recommendation list of experts respectively a list of tools, in other words an “expertList/toolList” EL/TL according toFIG. 9. With such an “expertList/toolList” it is much easier and faster to have a progress within the technical domain related project, which has at the end a competitive advantage on the global market of a technical product being developed, designed and/or deployed in the technical domain. Besides that or in addition to this, the “expertList/toolList” is sustainable useful and of economical, technical importance or beneficial with respect to the maintenance of those technical domain related systems or products.

The Measure Determining Phase MDP with its single MDP-steps is now described according to the depiction in theFIG. 1and in accordance to general overview of in theFIG. 6.

Within the Measure Determining Phase MDP with its single MDP-steps every newly created unresolved issue Iurs, goes through the five MDP-steps, beginning with first MDP-step and ending with the fifth MDP-step, wherein the first MDP-step, the second MDP-step and the third MDP-step are essentially the same as the first IEP-step, the second IEP-step and the third IEP-step described above in the context of the Issue Evaluation Phase IEP.

So, in the first MDP-step, in which the Processor PRC of the Measure Recommendation System MRS respectively the Computer-Program-Product CPP accesses the Knowledge Database System KDBS and the Issue Tracking Database System ITDBS and executes the Importing Program Module I-PGM, the unresolved issue Iursstored in the Issue Tracking Database ITDB of the Issue Tracking Database System ITDBS is edited and evaluated such that the unresolved issue Iursbecomes normalized. This means that the issue Iursis subject to a normalization procedure NOR being represented by Iurs(NOR) [cf. second depiction inFIG. 7]. The result of the normalization procedure NOR is a normalized unresolved issue NOR(Iurs), which is stored in the Knowledge Database KDB.

FIG. 7shows in a two-part-depiction how the first MDP-step is carried out in detail [first depiction] and how the structure of the unresolved issue Iurslooks like before and after the normalization procedure NOR [second depiction].

According to the second depiction the unresolved issue Iursstored in the Issue Tracking Database ITDB of the Issue Tracking Database System ITDBS is commonly unstructured although it is also possible that they are already stored in a structured way. Each unresolved issue Iursextracted from the Issue Tracking Database ITDB contains again (as the resolved issue Irs) at least one identification data field concerning at least a “Resolver”-attribute R and one content related data field concerning at least “Summary”- and/or “Description”-attributes. On the left side it is depicted the unresolved issue Iursbefore applying the normalization procedure NOR, and on the right side, the unresolved issue Iursafter applying the normalization procedure NOR. This in theFIG. 7illustrated mapping between the input format on the left side and the normalized format in the Knowledge Database System can flexibly be controlled.

According to the first depiction it is depicted explicitly the Processor-based data accessing the Knowledge Database System KDB and the Issue Tracking Database ITDB as well as the Processor-based executing of the Importing Program Module I-PGM to carry out the first MDP-step. Consequently, due to a cyclic or periodical access to the Issue Tracking Database ITDB by addressing a Issue Request REQ_ISU to the Issue Tracking Database ITDB each unresolved issue Iursis read or extracted from the Issue Tracking Database ITDB. Besides the periodical or cyclic import of each unresolved issue Iursby extracting or reading it is alternatively also possible to trigger the issue import by each newly arriving issue from the different data sources, e.g. JIRA, GitHub, Whiteboard, etc.

In addition by executing the Importing Program Module I-PGM normalization mapping information NOR_MAP_INF requested from the Knowledge Database KDB is used. With the requested normalization mapping information NOR_MAP_INF and the extracted unresolved issue Iursthe normalization procedure NOR, already mentioned in the context of the description of theFIG. 6, is carried out. Consequently, the normalization procedure NOR provides the normalized unresolved issue NOR(Iurs), which is stored in the Knowledge Database KDB.

The first MDP-step carried out by executing the Importing Program Module I-PGM as an extract-transform-load component of the Computer-Program-Product is not only a step, by which existing issues are imported. It is also a step, by which newly created issues are synchronized with the Knowledge Database System KDBS.

In the second MDP-step, in which the Processor PRC of the Measure Recommendation System MRS respectively the Computer-Program-Product CPP accesses the Knowledge Database System KDBS and executes the Decision Detection Program Module DD-PGM, firstly at least one further decision DEC* being inherent to the normalized unresolved issue NOR(Iurs) is identified and classified into categories by a machine learning algorithm and secondly the normalized unresolved issue NOR(Iurs) being identified and classified regarding the further decision DEC* is provided with a further label LAB* and stored in the Knowledge Database KDB.

By this second MDP-step this normalized unresolved issue NOR(Iurs) is filtered that reflect the further decision DEC*. This is done by the machine learning algorithm, which is a two-phase supervised algorithm based on an approach comprising the following two phases:

a) The further Decision DEC* is automatically detected from the normalized unresolved issue NOR(Iurs) [phase “Identify”; cf.FIG. 4].

b) The identified further decision DEC* is automatically classified into one category of different categories such as structural, behavioral, or a non-existence decision [phase “Classify”; cf.FIG. 4]. This is the first part of the second MDP-step.

It is proposed to use a linear support vector machine algorithm in order to automatically categorize the further decision DEC* according to one of the aforementioned categories. However, it should be also noted here that other kinds of algorithms are not excluded.

There is a training phase for each type of input source (e.g. JIRA), wherein the identification of the normalized unresolved issue NOR(Iurs) is trained with some subset of data. Afterwards the identification can be applied to data sources of that type. A high accuracy can be achieved if the machine learning model is trained accordingly.

In the second part of the second MDP-step the normalized unresolved issue NOR(Iurs) is marked with a further label LAB* (it is respectively labeled) either as a “decision” or “not a decision”. The normalized NOR, further decision-labeled DEC*, LAB* issue DEC*, LAB*[NOR(Irs)] and the determined decision category is stored in the Knowledge Database System KDB.

FIG. 4shows based on and referred to theFIG. 6the detailed carrying out of the two-part-related second MDP-step. So it is depicted explicitly the Processor-based data accessing the Knowledge Database KDB and the Processor-based executing of the Decision Detecting Program Module DD-PGM to carry out the second MDP-step. Consequently, due to an access to the Knowledge Database KDB by addressing firstly the Algorithm Request REQ_ALG and secondly a Normalized Unresolved Issue Request REQ_NOR(Iurs) to the Knowledge Database KDB the algorithm ALG respectively the normalized unresolved issue NOR(Iurs) are read or extracted from the Knowledge Database KDB.

In addition by executing the Decision Detecting Program Module DD-PGM and according to the first part of the second MDP-step, the two-phase supervised machine learning algorithm with the two phases, the phase “Identify” and the phase “Classify”, is applied to the normalized unresolved issue NOR(Iurs) in order to detect automatically in the phase “Identify” the further decision DEC* from the normalized unresolved issue NOR(Iurs) and to classify automatically in the phase “Classify” the identified respectively detected further decision DEC* into one category of the different categories such as “structural”, “behavioral”, etc. and non-existence decisions depicted as “ignore”.

Moreover according to the second part of the second MDP-step the normalized unresolved issue NOR(Iurs), the further decision DEC* was assigned due to the two-phase supervised machine learning algorithm with the phase “Identify” and the phase “Classify”, is marked with the label LAB*. This normalized, further decision-labeled issue DEC*, LAB*[NOR(Iurs)] is then stored in the Knowledge Database System KDB in the course of the Processor's PRC access to the Knowledge Database KDB.

So theFIG. 4shows also the filtering and classification of the normalized unresolved issue NOR(Iurs). If the issue is labeled as a decision, then it is processed in subsequent steps.

In the subsequent third MDP-step, in which the Processor PRC of the Measure Recommendation System MRS respectively the Computer-Program-Product CPP accesses the Ontology Database System ODBS, with using the “DBpedia”-ontology, and the Knowledge Database System KDBS and executes the Element Detecting Program Module ED-PGM, the content related data field of the normalized, further decision-labeled issue DEC*, LAB*[NOR(Iurs)] is analyzed. This analysis happens in such a way that firstly on the basis of the general data GDA stored in the Ontology Database ODB of the Ontology Database System ODBS at least one further Relevant Elements Erv* is determined and secondly the normalized, further decision-labeled issues DEC*, LAB*[NOR(Iurs)], which is used to determine the further Relevant Elements Erv*, is provided with a further marker MAR* and stored in the Knowledge Database KDB (cf.FIG. 5).

By this third MDP-step the textual description of the normalized, further decision-labeled issue DEC*, LAB*[NOR(Iurs)], e.g. the “Summary” and “Description” attributes of the unresolved issue Iurs, according to the depiction in theFIG. 7, is analyzed and the further Relevant Element Erv* determined within the description is marked in the Knowledge Database KDB. This means that a normalized, further decision-labeled, further element-marked issue Erv*, MAR*{LAB*[NOR(Irs)]} is stored in the Knowledge Database KDB. So in summary it can be said that by this third MDP-step the further Relevant Element is extracted from the textual description of the normalized, further decision-labeled issue and the normalized, further decision-labeled, further element-marked issue is persisted in the Knowledge Database KDB.

The further Relevant Element Erv* is a topic such as a selected hardware component, an architectural style, a pattern, a component, a technology, and so on. For this analysis the usage of the broad cross-domain Ontology Database ODB, like DBpedia, is suggested in order to determine the further Relevant Element Erv*. Instead of DBpedia as the broad cross-domain Ontology Database ODB there are also other sources possible.

FIG. 5shows based on and referred to theFIG. 6the detailed carrying out of the third MDP-step. So it is depicted explicitly the Processor-based data accessing the the Ontology Database ODB and the Knowledge Database KDB and the Processor-based executing of the Element Detecting Program Module ED-PGM to carry out the third MDP-step. Consequently, first due to an access to the Knowledge Database KDB by addressing firstly a further Normalized, Decision-Labeled Issue Requests REQ_DEC*, LAB*[NOR(Iurs)] to the Knowledge Database KDB the normalized, further decision-labeled issue DEC*, LAB*[NOR(Iurs)] is read or extracted from the Knowledge Database KDB. Then, secondly due to an access to the Ontology Database ODB by addressing the General Data Request REQ_GDA to the Ontology Database ODB, the general data GDA is read or extracted from the Ontology Database ODB.

In addition by executing the Element Detecting Program Module ED-PGM the analysis is done on the basis of the normalized, further decision-labeled issue DEC*, LAB*[NOR(Iurs)] and the general data GDA. The result of the analysis could be either the determination of the further Relevant Element Erv* and the corresponding further marker MAR* of the normalized, further decision-labeled issue DEC*, LAB*[NOR(Iurs)] or the determination of a non-existing Relevant Element depicted as “ignore”. This normalized, further decision-labeled, further element-marked issues Erv*, MAR*{LAB*[NOR(Iurs)]} is then stored in the Knowledge Database System KDB in the course of the Processor's PRC access to the Knowledge Database KDB.

In the subsequent fourth MDP-step, in which the Processor PRC of the Measure Recommendation System MRS respectively the Computer-Program-Product CPP accesses the Knowledge Database System KDBS and executes the Matrix Processing Program Module MP-PGM, the normalized, further decision-labeled, further element-marked issues Erv*, MAR*{LAB*[NOR(Iurs)]}, stored in the Knowledge Database System KDB, is processed such that according toFIG. 6an Issue Evaluation Vector IEV is created, wherein

the vector elements of the Issue Evaluation Vector IEV with a number n of vector elements, which correspond to the number of Relevant Elements Ervdetermined for the normalized, decision-labeled, element-marked issues Erv, MAR{LAB[NOR(Iurs)]} in the Issue Evaluation Matrix IEM, Mm,n, are formed by the further Relevant Element Erv,* determined for the normalized, further decision-labeled, further element-marked issue Erv*, MAR*{LAB* [NOR(Iurs)]}, which correspond each to one Relevant Element of the Relevant Elements Erv, determined for the normalized, decision-labeled, element-marked issues Erv*, MAR*{LAB*[NOR(Iurs)]} in the Issue Evaluation Matrix IEM, Mm,n, and filled with “zero-value”-elements accordingly, if there is no “Relevant Element Erv, Erv*-Correspondence”.

Advantageously, if with regard to the creation of the Issue Evaluation Vector IEV more than one identical further Relevant Element Erv* is determined for the normalized, decision-labeled, element-marked issue Erv*, MAR*{LAB*[NOR(Iurs)]} the frequency of the identical further Relevant Element Erv* is considered in the creation of the Issue Evaluation Vector IEV by increasing the value of the corresponding vector element accordingly.

By this fourth MDP-step according to the depiction in theFIG. 6the Issue Evaluation Vector IEV is created. Once a new unresolved issue Iursis imported into Issue Tracking Database System ITDBS, it is checked if it represents at least one decision DEC*. If so, it is identified at least one Relevant Element Erv* within this decision. The frequency of occurrence of the Relevant Element represents its weightage with the decision.

The Issue Evaluation Vector IEV=(iev1, iev2, iev3, . . . , ievn) with a vector element ievicomprising a value ≥0 and n the number of Relevant Elements in the entire dataset is created by this fourth MDP-step for the new unresolved issue Lis, i.e. the decision DEC*. This is an integer array of size n initialized with zero values. The value of the vector element ieviis then replaced with the frequency count of the corresponding Relevant Element Erv*.

In the final fifth MDP-step, in which the Processor PRC of the Measure Recommendation System MRS respectively the Computer-Program-Product CPP accesses the Knowledge Database System KDBS and executes the Measure Determining Program Module MD-PGM, a measure MEA is determined on the basis of a Measure Determination Vector MDV generated by vector products of each the Issue Evaluation Vector IEV and a dedicated Resolver Profile Vector RPViof the Resolver Profile Vectors RPV depicted in theFIG. 8and made up from those matrix elements ME, M[ri,ej] of the Issue Evaluation Matrix IEM, Mm,nwith the same “Resolver”-attribute R of a set D of Resolver Profile Vectors RPV in the Issue Evaluation Matrix IEM, Mm,n.

By this final MDP-step according to the depiction in theFIG. 9due to applying a function MATCHING and a function PRIORITIZATION the determination of the measure MEA is carried out. Consequently, the Issue Evaluation Vector IEV generated in the previous fourth MDP-step is matched against the Issue Evaluation Matrix IEM, Mm,nstored in the Knowledge Database KDB to generate a recommendation list of experts respectively a list of tools in other words an “expertList/toolList” EL/TL according to theFIG. 9, who/which are suited to address the corresponding decision.

It should be denoted once more that with such an “expertList/toolList” it is much easier and faster to have a progress within the technical domain related project, which has at the end a competitive advantage on the global market of a technical product being developed, designed and/or deployed in the technical domain. Besides that or in addition to this, the “expertList/toolList” is sustainably useful and of economical, technical importance or beneficial with respect to the maintenance of those technical domain related systems or products.

The function MATCHING takes as input the Issue Evaluation Vector IEV, the Issue Evaluation Matrix Mm,nand a set D of experts (individuals), e.g. architects and developers. For each expertise profile respectively Resolver Profile Vectors RPV (expert vector) given by the rows in the Issue Evaluation Matrix Mm,n, the Measure Determining Vector MDV of size n is created. Each element in Measure Determining Vector MDV is the product of the frequency of a Relevant Element in a new decision (Issue Evaluation Vector IEV[ . . .i]) and the experience level M[ri,ej] of the respective individual corresponding to that Relevant Element. For instance, if a new decision emphasizes a Relevant Element with a higher frequency count and a specific individual has more experience with this specific Relevant Element, then a score for that individual proportionally increase with respect to both these variables. Once the expert vector is generated for an individual, the function PRIORITIZATION takes place by calculating the score, which is calculated as the magnitude (vector length) of that expert vector. The magnitude of the expert vector is calculated as the square root of the dot product of the vector by itself. Hence, the score generated for an individual is equally distributed across all expertise required to address the new decision. If this score is greater than zero, the corresponding individual along with the score is added to the “expertList/toolList” EL/TL. as a last step, after iterating over all expertise profile, the “expertList/toolList” EL/TL is ordered by score.

The “expertList/toolList” EL/TL is created by applying the function MATCHING and the function PRIORITIZATION on the basis of the Measure Determination Vector MDV being generated (cf.FIG. 9) according to some pseudo code described by the following algorithm:

The Issue Evaluation Matrix IEM, Mm,n, the Measure Determination Vector MDV and the “expertList/toolList” EL/TL are stored in the Knowledge Database KDB of the Knowledge Database System KDBS.

The determined measure MEA is either concrete, if the Measure Determination Vector MDV comprises at least one vector element which is not a “zero-value”-vector element, or non-existent, if the Measure Determination Vector MDV is a “zero-value”-vector.

As shown in theFIG. 9the proposed Measure Recommendation System MRS depicted inFIGS. 1Aand B allow end users to type a textual description of a decision in order to obtain a recommended list of experts who could be involved in the decision making process for that unresolved issue Iurs.

As soon as the unresolved issue Iursis resolved, dependently or independently from the determined measure MEA, the unresolved issue Iursbecomes a new resolved issue Irs*, which is stored in the Knowledge Database KDB of the Knowledge Database System KDBS.

REFERENCES