WO2014067878A1 - Method of aiding the design of a system modelled by a multi-view architecture, and device implementing such a method - Google Patents

Method of aiding the design of a system modelled by a multi-view architecture, and device implementing such a method Download PDF

Info

Publication number
WO2014067878A1
WO2014067878A1 PCT/EP2013/072441 EP2013072441W WO2014067878A1 WO 2014067878 A1 WO2014067878 A1 WO 2014067878A1 EP 2013072441 W EP2013072441 W EP 2013072441W WO 2014067878 A1 WO2014067878 A1 WO 2014067878A1
Authority
WO
WIPO (PCT)
Prior art keywords
view
architecture
analysis
elements
graph
Prior art date
Application number
PCT/EP2013/072441
Other languages
French (fr)
Inventor
Armand Nachef
François Terrier
Sébastien Gerard
Original Assignee
Commissariat A L'energie Atomique Et Aux Energies Alternatives
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Commissariat A L'energie Atomique Et Aux Energies Alternatives filed Critical Commissariat A L'energie Atomique Et Aux Energies Alternatives
Publication of WO2014067878A1 publication Critical patent/WO2014067878A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/10Requirements analysis; Specification techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/77Software metrics

Definitions

  • the present invention relates to a method for assisting the design of a system that can be modeled by a multi-view architect. It also relates to a device for implementing the method.
  • the invention applies in particular for the acceleration and automation of the analysis of architectures during the iterative design of a system modeled by a multi-view architecture. It is particularly applicable for the creation of hardware and / or software systems regardless of their complexity.
  • each view contains templates that take into account a range of concerns from system stakeholders.
  • an architecture of a system can be described by its views of security, safety, reliability, performance, cost, productivity, performance or through its physical, logical, technical and dynamic views.
  • To build a system be it hardware, software or organizational, meeting the needs of all its stakeholders, all their concerns must be taken into account when describing the system architecture.
  • the quality of a system and its success depend heavily on its architecture, which is defined in the early stages of its development process.
  • An architecture must meet both functional and non-functional requirements of stakeholders. In the process of system development, the impact of architectural decisions made during the design phase, can be very important. Correcting a bad architectural design decision requires more and more effort as the development of the system progresses. It is therefore very useful to analyze system architectures as early as possible in the development process.
  • An architecture of a system can be analyzed both on the basis of the functional requirements of system stakeholders and on the basis of non-functional requirements such as the ability of a system to be maintained or to evolve. It should be noted that, depending on the context, some requirements are sometimes classified as non-functional and other times as functional. For example, it is about availability, energy consumption, autonomy or response times. Analysis of an architecture can be done in several ways, for example:
  • metrics such as, for example, response times. These metrics can be obtained by simple calculations or by very complex simulations. They provide very useful information but sometimes require very specific skills in order to be correctly interpreted. The complexity of interpretation is often caused by complex dependencies between architectural elements.
  • design patterns design patterns
  • design patterns design patterns
  • These are the result of a synthesis of the experience gained by designers and engineers. They are generally considered good design practices in a given area or for a specific concern. Therefore, it is important to be able to verify that these good practices are used so much that can be done in an architecture. - by checking that anti-pattern patterns can not occur. Anti-patterns are in fact standard errors made when designing systems. Bottlenecks, increased interdependence between objects, cross-locks, spaghetti inter-calls, are examples of anti-patterns that require analysis tools that detect them.
  • AOM Architecture Trade Off Analysis Method
  • This method defines a global modeling process. This process assists all stakeholders to express their concerns in order to achieve the specific quality objectives under which the architecture will be evaluated. Indeed, usage scenarios are defined for each stakeholder. These scenarios are prioritized among themselves by the stakeholders. The architecture is then evaluated against each usage scenario and will be analyzed and evaluated according to the priorities of the scenarios. It should also be noted that the majority of known multi-view architectural frameworks, such as for example RM-ODP or the 4 + 1 model of P. Kruchten, define a set of points of view corresponding to the concerns of stakeholders in order to to guide analysis and architectural choices.
  • a disadvantage of these methods is that the evaluation of all criteria at each stage of architectural exploration is very expensive. Indeed, the known methods do not offer methods for simplifying the analysis following architectural modifications. Some metrics such as the average response time of a component sometimes require complex simulations that are time-consuming to obtain. Similarly, checking anti-patterns is often an NP-complete problem that requires a lot of know-how and time in the calculation before being able to validate an architecture model. The fact of being obliged to redo a complete analysis with each architectural modification, naturally prevents the architect from doing many iterations in order to arrive at a good architectural compromise. It is therefore necessary to find a method that reduces the time of the analysis at each iteration.
  • An object of the invention is in particular to overcome the aforementioned drawbacks and to allow, in the context of a multi-view architecture, to:
  • the subject of the invention is a method of assisting the design of a system that can be modeled by a multi-view architecture, said method being implemented by computer, said architecture comprising a common core and a N number of views, the common core having a set of elements, each element representing a component of the system, a view comprising elements, each of said elements being a projection of a common core element according to a point of view of a stakeholder.
  • the system for obtaining the common core and the N views is modeled
  • a graph having as vertices the elements of the common core and the elements of the views is constructed such that each edge of this graph connects an element of a view to the element of the nucleus if and only if element of the view is a projection of the element of the nucleus;
  • analysis programs each corresponding to a view are established, the result of an analysis program being intended to be compared to a given criterion; own view, then the execution of these programs of analysis is launched;
  • the results of said analysis programs are compared with respect to the criteria given, if at least one view has a result, called negative, that does not meet a given criterion:
  • the architecture is modified by modifying at least one element of said view
  • the fourth step being repeated as long as an analysis program produces a negative result or a given number of iterations is not achieved.
  • the architecture is for example automatically chosen by the computer when all the results obtained are no longer negative.
  • the analysis results are for example presented to an operator.
  • the graph connecting the elements of said architecture is for example constructed in order to reduce the cost of architectural change analysis.
  • the graph connecting the elements of said architecture is for example updated at each modification of said architecture.
  • a view may include elements unrelated to the graph, said elements are additions specific to the view.
  • the graph is for example constructed without iteration by connecting each element of a view to at most one element of the common core.
  • the graph can be constructed to have only strings of length equal to 1 or strings of length equal to 2.
  • the architecture is modified by modifying at least one element of the view having the result estimated as the most negative.
  • a view is represented by a list of blocks that make up the system.
  • FIG. 1 a representation of a multi-view architecture modeling a system
  • FIG. 2 an illustration of the principle of implementation of the method according to the invention
  • FIG. 3 an illustration of the chains of the graph of the preceding figure, connecting the elements of the architecture
  • FIG. 4 a presentation of the possible steps of the method according to the invention.
  • FIG. 5 a bicycle shown by way of example as a system designed according to the invention
  • FIG. 6 an illustration of an exemplary structural view of representation of the bicycle
  • Figure 7 is an illustration of an example of a bicycle design view
  • FIG. 9 for illustrative purposes, a partial view of the graph used by the method according to the invention.
  • FIG. 10 another partial view of the graph used by the method according to the invention.
  • Figure 1 shows a representation of a multi-view architecture modeling a given system.
  • This architecture comprises a common core 1 and views 2 from projections.
  • a view 2 is defined as a projection of the common core 1 according to a point of view.
  • Each view may have an addition 4.
  • the ISO / IEC / IEEE 42010 standard allows the definition of an arbitrary number N of viewpoints.
  • a point of view can address one or more concerns, stakeholders, and establish the conventions from which the view is represented and analyzed.
  • Additions 4 are usually data not present in the kernel common 1 because they represent elements of the model specific to the view and only to this one.
  • the views 2 are thus constructed by projecting the common core from given points of view, addressing in particular the concerns of the stakeholders and possibly adding elements 4 of their own.
  • a view thus includes projection data 3 and added data 4.
  • Multi-view modeling allows you to split the system into different views where each view is analyzed independently of the other views. It thus brings a better modularity and contributes to considerably reducing the complexity of analysis of the system. For example, performance, security, security, availability, flexibility, scalability, maintainability, cost, productivity, etc. are independently done in their corresponding views, then the overall results are analyzed and judge whether to improve the compromise between all these concerns in its architecture. Nevertheless, this simplification does not overcome the disadvantages of the prior art, in particular it does not remove the intrinsic difficulty in the analysis of certain views even if they are made independently. Verification of safety properties, for example, has always been a very difficult problem in itself.
  • FIG. 2 illustrates the principle of implementation of the method according to the invention from the representation of the architecture of FIG. 1.
  • the method applies a graph, which will be described later, on the architecture modeling the system.
  • the method makes it possible to have at any time the result of the complete analysis of the architecture, with a reduced cost of analysis.
  • the method analyzes the impact of this change on the other views and orders the re-analysis only of the impacted views. It is useless, for example, to recalculate the cost of manufacturing a plane, if just a setting in a software module has been made; on the other hand, this modification will require the re-analysis of the dependability.
  • the method according to the invention ensures the referencing between elements of the system. This is done by linking the system view template elements by 21 relationships, or links. The complete analysis of all the views of the system is therefore done only at the first stage of the design cycle or after radical changes in the architecture.
  • the links have the function of referencing the dependencies between views in order to maintain the coherence between them and to facilitate the analysis of the system.
  • These links are called "analysis links".
  • These links can belong to distinct sets of links that depend on the types of objects that are to be linked together.
  • a meta-model of links can be defined accordingly. For example, we could create a set of links to link two views and another set of links to connect two objects. However, in the present invention, it is assumed that all the analysis links belong to one and only one set. Moreover, there are no analysis links between two different projections or between two different views. The only authorized links 21 are present between a projection 3 and the common core 1.
  • a link Since a link is always bidirectional, it can be represented by a line without arrows connecting an object 20 of the common core and an object 22 of the projection.
  • the elements in the common core 1 are represented in a tree by the majority of the modeling tools. This tree is abstracted from the representation of FIG. 2: the common core is then represented as a set of points 20, more particularly represented by small circles, each point representing an element or object.
  • a common core point can be projected in one or more views.
  • a projection of a point 20 is represented by another point 22 in the corresponding view.
  • a link 21 is then created between the point of the common core and each of its corresponding points in the projections 3, for all the points 20 of the core.
  • the element "a” is represented by the element “3" of the view No. 1, the element “1” of the view No. 2 and the element “2" from view no. There are 3 links that come from the element "a”. A point of a view is never connected to a point of another view.
  • an element in a view can in principle be linked to more than one element in the common kernel. However, for the sake of readability and efficiency in the analysis, it is possible to construct architectures where an element in a projection is linked to one and only one element of the common core, as shown in FIG. 21 and the elements 20, 22 of the architecture of Figure 2 form a graph.
  • an undirected graph G (S, A) is defined by the data of a set of vertices S and a set of edges A, each edge being a pair of vertices (for example, if x and y are vertices, the pair ⁇ x, y ⁇ - also noted xy - can be an edge of the graph G.
  • a chain of x and y ends is defined by a finite sequence of consecutive edges , linking x to y
  • An elementary chain is a string that does not pass twice by the same vertex, that is to say, whose vertices are all distinct. The length of a string is the number of edges of the string. chain.
  • the graph G comprises:
  • a set of vertices S these vertices being the elements 20, 22 which are both in the common core 1 and the projections 2;
  • edges are the analysis links 21.
  • the set of all the other vertices of the graph G are detected which are impacted by the change on x.
  • This operation returns to find all the elementary chains of the graph G having the vertex x as an end.
  • This problem is well known in graph theory and is solved with known efficient methods.
  • all the paths of the graph G have a maximum length of 2 as will be shown in FIG. 3 below. For example, if we suppose that the links 21 forming the edges in FIG.
  • FIG. 3 illustrates these chains, corresponding to the graph of FIG. 2.
  • FIG. 3 presents three sets of vertices 31, 32, 33.
  • the two sets 31 and 33 represent elements of the views in connection with an element of FIG. core.
  • the set 32 represents elements of the core in connection with elements of views.
  • the element "2" of the view n ° 3 is in connection with the element "d" of the nucleus
  • the element "1" of the view n ° 3 is in connection with the element "c” of the nucleus.
  • a graph can thus be constructed to have only chains of length equal to 1 or chains of length equal to 2. This makes it possible in particular to facilitate the search for the impact of modifying an element on the rest of the architecture.
  • FIG. 4 illustrates the possible steps of a method according to the invention applied for the realization of a system. These steps are implemented by a computer, this term encompassing all processing systems capable of automatically implementing these steps.
  • a first step 41 the system under study is modulated to obtain the common core and its projections taking into account all the points of view, as illustrated in particular by Figure 1.
  • a second step 42 the analysis graph between elements of the common core and elements of the models in the views, as defined in the previous step, is constructed.
  • Figure 2 illustrates the construction of such a graph. The construction of the graph can be done in a semi-automatic way.
  • the analysis programs which correspond to the views of the architecture and which take into account all the concerns of the stakeholders, are set up and then launched, simultaneously or sequentially according to the architecture of the architecture. the analysis platform. For each view, an analysis program leads to a result intended to be compared to a given criterion specific to this view.
  • a fourth step 44 an analysis 40 of the results of the analysis programs is performed.
  • the analysis is performed by comparing the results obtained against given criteria. These criteria depend on the points of view. For a view, a result is negative if it does not meet a given criterion specific to that view.
  • the architecture is modified 47. More specifically:
  • the modification of the architecture is done by the modification of at least one element of this view; - If necessary, update the analysis graph following the modofication in the architecture, the addition of an element to the architecture may require the addition of links to the analysis graph;
  • This step 44 is repeated as long as an analysis program produces a negative result. Since the program implemented by a computer can not run indefinitely, a limit is provided for the number of iterations. It is thus considered that from a given number of iterations all the positive results can not be obtained. In other words, not all stakeholders can be satisfied according to the agreed criteria. This determines a maximum number of iterations that can depend on the system type. When this maximum number is reached without having met the requirements or concerns of the stakeholders, generally of a technical nature, a manual operator must take the following steps to achieve an architecture. This operator can be a system architect. To help it to choose a good compromise between all the stakeholders, a device according to the invention can present the analysis results by means of a suitable interface.
  • a chosen architecture can be the one that brings the most compromise.
  • the architecture is chosen according to the results of analyzes obtained.
  • the iteration of the analysis and modification steps 40 of the architecture can require a lot of operating time of the processing means implementing them, typically a computer.
  • the processing time can take several hours, depending on the maximum number of iterations defined.
  • a batch operation can be provided.
  • the processing can be interrupted to allow an operator to consult the state of the architecture and the analysis results.
  • Figure 5 illustrates an architecture of a bicycle that takes into account the six concerns below forming points of view from the common core 50 of the bicycle architecture: - Structure 51, describing a bicycle that has wheels, handlebars, gears, brakes, etc. ...
  • FIG. 6 illustrates the construction of the structural view 51, or static view, by an example of representation of the bicycle using a block definition diagram in the sense of SysML.
  • the list of blocks 60 is as follows:
  • Handlebar Handle
  • Rod Steering tube
  • Fork Frame
  • Rear base Shroud
  • Saddle Seatpost
  • Seatpost Connecting rod
  • Pedal Trays
  • Sprocket Chain
  • Wheels Brakes
  • Deraille Shock absorbers
  • the frame 61 is composed in turn of a horizontal tube 61 1 and a down tube 612.
  • a wheel 62 it is composed of spokes 621, a hub 622, a rim 623, a a 624 tire and a 625 valve.
  • the structural view 51 is analyzed by the computer to give a note that takes for example three values:
  • An analysis program automatically checks if the architecture meets the requirements.
  • a grade is considered positive.
  • Notes B and C are considered negative but an operator, an architect, for example, can decide to maintain an architecture with a grade B.
  • Figure 7 illustrates the construction of the design view 52.
  • the design of the bicycle 70 must take into account the technical constraints imposed by the engineers, these constraints forming the point of view of the design view 52.
  • the structure of the design bicycle must contain a triangle on which the weight of the cyclist will be distributed from the fulcrum of the saddle, which will be associated with a second, smaller triangle on which the rear wheel is mounted.
  • the choice of materials takes into account the constraints of performance (weight) and maintainability (rigidity).
  • the materials for a bicycle can contain a combination of steel and chromium, aluminum (economic), carbon fiber or titanium, these materials being however expensive. It is also assumed that comfort is part of the design of the bike.
  • the comfort of the bike depends on the choice of the saddle, the geometry of the frame, the tires and the shock absorbers.
  • Several different designs can be proposed that are, for example, rated by stakeholders involved in design. The notes can then be weighted to obtain a mark per design.
  • the design view 52 is for example analyzed automatically to give a note that takes three values:
  • the comfort of the bike depends on the choice of the saddle, the geometry of the frame, the tires and the shock absorbers.
  • the analysis of comfort in the design view requires a computer program with complex rules delivering a note taking four values for example:
  • Routine maintenance of a bicycle consists mainly of:
  • maintainability and serviceability of the bike are highly correlated with the service life of the tires, pads and the proper operation of the deraille.
  • the architect may decide to represent the quality of the tires, brake pads and derails on a scale from A to G; A for the most resistant and G for the most fragile.
  • a spreadsheet can be used.
  • the cost of manufacturing a bicycle is generally represented in a spreadsheet listing all the basic costs including in particular the costs of research and development, personnel, logistics, buildings, energy consumption.
  • the purchase prices of bike components, as described by the blocks in Figure 6, decrease as purchase volumes increase. These costs can then be represented on several columns depending on volumes.
  • the following table illustrates an example of a partial view of the costs 54, the purchase prices of the components of the bicycle as described by the blocks of FIG. 6 being indicated according to given volumes:
  • the analysis program delivers the note corresponding to the cost of production of the bike, two notes are for example possible:
  • - A if the cost is less than or equal to 60 euros; - B: if the cost is greater than 60 euros.
  • the architecture is acceptable if and only if the analysis program delivers the grade A.
  • Figure 8 illustrates the construction of the safety sight 55. Indeed, it is not enough that the bike can ride, it is necessary that the safety of the cyclist and pedestrians is ensured. Additional devices must be added to the bike for this purpose.
  • the bicycle must have in particular an effective braking system 81, front and rear, a front lighting system 82 and rear 83, and a system of reflex reflectors 84, 85 distributed on the pedals and / or the spokes of the wheels to be visible laterally, and at the front 86 and at the rear 87 to complete the visibility. It also provides a sound device 88.
  • the tires are the only components of the bike that touch the ground, they must have a good grip on the ground to minimize the risk of falling.
  • the security analysis for example, has a binary value: "compliant" or "non-compliant". For example, to comply with safety standards, all safety devices must be present on a bicycle.
  • the analysis program can thus deliver two notes for the conformity of the tires, the conformity of the braking system and the conformity of the bike's visibility:
  • the performance requirement in the bike example can be the following standard requirement: the bike must be able to reach 50 km / h on a flat road in the absence of wind.
  • the architecture of the system, the bike in this example must take into account the environmental constraints. In the case of cycling, the following constraints are three different types of resistance that the cyclist must face: the aerodynamic drag of the air, the rolling resistance generated by the contact of the wheels on the ground and friction on the ground. the mechanical parts and the force of gravity due to the weight of the bike-cyclist assembly in the climb.
  • the architecture of the bike system must: - have a design that allows the rider to have a comfortable position minimizing aerodynamic drag;
  • the value of a coefficient of friction depends, in descending order of importance, on the couple of materials in contact, the lubrication, the surface condition of the materials and the temperature.
  • three types of tires are available as input data, with the following treatment coefficients:
  • This table is an example of a performance view 56 in the case where the performance analysis relates only to friction.
  • Performance analysis programs are therefore generally very complex programs that must take into account the aerodynamic drag of the air, the rolling resistance generated by the contact of the wheels on the ground and friction on the mechanical parts and the gravitational force due to the weight of the bicycle-bike set in the climb.
  • the performance requirement in the example of a bicycle may correspond to the following requirement: the bike must be able to reach 50 km / h on a flat road in the absence of wind.
  • the program delivers the note A if it is the case, and the note B in the opposite case.
  • a note may also be issued for the coefficient of friction depending on whether or not it exceeds a given value.
  • FIG. 9 illustrates the analysis graph for the example of the bicycle system, more particularly only a part of the graph is represented.
  • the architecture comprises a common core 50 and the six views 51, 52, 53, 54, 55, 56 previously described.
  • the architecture of FIG. 9 specifies the blocks contained in the common core and the blocks contained in the views as well as the links between the different blocks.
  • the blocks Ci contained in the views may be projection elements from the core 50 or additions.
  • each component Ci is linked to its weight Ci and its cost Ci.
  • FIG. 9 where the graph is partially represented, the links between the component C1 and the cost C1 in the cost view 54 and the weight C1 in the performance view 56 are shown. It is the same for the component C2.
  • the component C24 signaling is linked to the corresponding component C24 in the safety 55, cost 54 and design 52 views as lighting is important for design and safety, taking into account costs. However, it does not impact the maintainability and performance.
  • the C22 tires impact all views except the design 52 and static 51 view given the level of abstraction considered.
  • the tire component C22 is therefore connected to the corresponding components in the views except the 52 and static 51 design views. For a different level of abstraction, these views 51, 52 could be impacted. Links other than those illustrated in FIG. 9 complete the graph but are not shown for reasons of simplification.
  • the step of constructing the graph executes the step 43 of launching the analysis program followed by the analysis of results 44, iteratively.
  • the successive iterations are as follows:
  • the average cost of the bike is 60 euros, which is high compared to a target of 50 euros;
  • - result of the safety analysis the result is non-compliant because the architecture has not integrated a bell, buzzer, into the bike;
  • - result of the performance analysis the performance analysis may require a complex simulation that requires several hours of calculation, the results reveal for example a friction index on the road equal to 0.6 which is very high compared to the goal of 0.5;
  • the results of maintainability analysis, costs and performance are bad.
  • the tires are changed to reach a coefficient of friction of 0.45 which is good because less than 0.5.
  • the partial view of the graph presented in FIG. 9 shows that a security, cost and maintainability analysis must be repeated.
  • the tire component C22 is connected to the corresponding components C22 in the safety view 55, in the cost view 54 and in the maintainability view 53.
  • the safety result then becomes "non-compliant" because the tire no longer adheres sufficiently to the ground and the braking time becomes too slow. Maintainability and cost analysis results remain poor.
  • the invention makes it possible to use the analysis graph to restart the necessary analyzes. It should be noted that the use of analysis graph avoids to repeat all the analyzes during the different iterations, the analysis being carried out only on the impacted views. An iteration is restarted until we find a satisfactory solution for all views. Iteration n
  • a chosen architecture can be the one that brings the most compromise.
  • the graph can be constructed without iteration, for example by connecting each element 22 of a view 2 to at most one element 20 of the common core 1.
  • the implementation of the method according to the invention has been illustrated for the design of a bicycle, that is to say for a hardware system of low complexity.
  • the invention also applies to systems that are much more complex whether they are hardware or software.
  • the invention makes it possible to improve the design of a system.
  • the mechanism of propagating changes in view models to other models of other views and evaluating the impact of changes provides consistent architectures.
  • the invention further allows that following a modification in the model of a view, only the parts impacted in other views are re-analyzed. As a result, it is not necessary to relaunch a complete analysis. This saves significant time in the exploration and analysis of architectures, which facilitates the ability to make good design choices early and helps to control complexity at an acceptable cost.

Abstract

In a first step (41), the system is modelled to obtain the common core and the N views; in a second step (42) a graph is constructed between the elements of the common core and the elements of the views in such a way that any element (20) of the core is linked to a corresponding element in one or more views, an element forming a vertex of the graph, two linked elements having a dependency relation; in a third step (43), analysis programs are established each corresponding to a view, the result of a program being intended to be compared with a given criterion specific to its view, and then the execution of these analysis programmes is launched; in a fourth step (44): the results of said programmes are compared (40) with respect to the given criteria, if at least one view has a result, termed negative, not complying with a given criterion: the architecture is modified (45) by modifying at least one of the elements of said view; all the elements impacted by this modification in the other views are detected by detecting all the chains of the graph having said element as end, an impacted element being another end of a chain thus detected; the programmes for analysis of the views having an impacted element are relaunched (48), the fourth step (44) being repeated, the architecture modelling the system being chosen as a function of the results obtained.

Description

PROCEDE D'AIDE A LA CONCEPTION D'UN SYSTEME MODELISE PAR UNE ARCHITECTURE MULTI-VUES,  METHOD FOR AIDING THE DESIGN OF A SYSTEM MODELED BY A MULTI-VIEW ARCHITECTURE,
ET DISPOSITIF METTANT EN ŒUVRE UN TEL PROCEDE  AND DEVICE IMPLEMENTING SUCH A METHOD
La présente invention concerne un procédé d'aide à la conception d'un système apte à être modélisé par une architectue multi-vue. Elle concerne également un dispositif pour la mise en œuvre du procédé. L'invention s'applique notamment pour l'accélération et l'automatisation de l'analyse des architectures lors de la conception itérative d'un système modélisé par une architecture multi-vues. Elle s'applique notamment pour la création de systèmes matériels et/ou logiciels quelle que soit leur complexité. The present invention relates to a method for assisting the design of a system that can be modeled by a multi-view architect. It also relates to a device for implementing the method. The invention applies in particular for the acceleration and automation of the analysis of architectures during the iterative design of a system modeled by a multi-view architecture. It is particularly applicable for the creation of hardware and / or software systems regardless of their complexity.
Selon la norme ISO 42010, la description architecturale d'un système nécessite en général plusieurs vues d'architecture. Chaque vue contient des modèles prenant en compte un ensemble de préoccupations des parties prenantes du système. Par exemple une architecture d'un système peut être décrite par ses vues de sécurité, de sûreté, de fiabilité, de performance, de coût, de productivité, de rendement ou encore au travers de ses vues physiques, logiques, techniques et dynamiques. Pour construire un système, qu'il soit matériel, logiciel ou encore organisationnel, satisfaisant les besoins de toutes ses parties prenantes, il faut prendre en compte toutes leurs préoccupations lors de la description de l'architecture du système. La qualité d'un système et donc son succès dépendent fortement de son architecture qui est définie dans les premières étapes de son processus de développement. Une architecture doit répondre aux exigences aussi bien fonctionnelles que non fonctionnelles des parties prenantes. Dans le processus du développement système, l'impact des décisions architecturales prises lors de la phase de conception, peut être très important. La correction d'une mauvaise décision de conception architecturale demande de plus en plus d'effort au fur et à mesure que le développement du système avance. Il est par conséquent très utile d'analyser les architectures des systèmes le plus tôt possible dans le processus de développement.  According to ISO 42010, the architectural description of a system generally requires several architectural views. Each view contains templates that take into account a range of concerns from system stakeholders. For example, an architecture of a system can be described by its views of security, safety, reliability, performance, cost, productivity, performance or through its physical, logical, technical and dynamic views. To build a system, be it hardware, software or organizational, meeting the needs of all its stakeholders, all their concerns must be taken into account when describing the system architecture. The quality of a system and its success depend heavily on its architecture, which is defined in the early stages of its development process. An architecture must meet both functional and non-functional requirements of stakeholders. In the process of system development, the impact of architectural decisions made during the design phase, can be very important. Correcting a bad architectural design decision requires more and more effort as the development of the system progresses. It is therefore very useful to analyze system architectures as early as possible in the development process.
Une architecture d'un système peut être analysée aussi bien sur la base des exigences fonctionnelles des parties prenantes du système que sur une base d'exigences non fonctionnelles comme par exemple la capacité d'un système à être maintenu ou à évoluer. Il est à noter que, selon le contexte, certaines exigences sont parfois classées comme non-fonctionnelles et d'autres fois comme fonctionnelles. Par exemple, il s'agit de la disponibilité, la consommation d'énergie, l'autonomie ou encore les temps de réponse. L'analyse d'une architecture peut se faire de plusieurs manières, par exemple : An architecture of a system can be analyzed both on the basis of the functional requirements of system stakeholders and on the basis of non-functional requirements such as the ability of a system to be maintained or to evolve. It should be noted that, depending on the context, some requirements are sometimes classified as non-functional and other times as functional. For example, it is about availability, energy consumption, autonomy or response times. Analysis of an architecture can be done in several ways, for example:
- en utilisant des métriques telles que par exemple des temps de réponse. Ces métriques peuvent être obtenues par des calculs simples ou par des simulations très complexes. Elles fournissent des informations très utiles mais qui demandent parfois des compétences très pointues afin d'être correctement interprétées. La complexité d'interprétation a souvent comme origine les dépendances complexes entre les éléments d'architecture.  using metrics such as, for example, response times. These metrics can be obtained by simple calculations or by very complex simulations. They provide very useful information but sometimes require very specific skills in order to be correctly interpreted. The complexity of interpretation is often caused by complex dependencies between architectural elements.
- par test de conformité à des patrons de conception plus connus sous le nom anglais « design patterns » . Ceux-ci sont le résultat d'une synthèse de l'expérience acquise par les concepteurs et les ingénieurs. Ils sont généralement considérés comme des bonnes pratiques de conception dans un domaine donné ou pour une préoccupation spécifique. Par conséquent, il est important de pouvoir vérifier que ces bonnes pratiques sont utilisées tant se faire que peut dans une architecture. - en vérifiant que des anti-patrons « anti-patterns » ne peuvent pas se produire. Les anti-patrons sont en fait des erreurs types commises lors de la conception des systèmes. Les goulets d'étranglement, l'interdépendance accrue entre objets, les inter-blocages, les interappels spaghetti, sont des exemples d'anti-patrons qui nécessitent des outils d'analyse qui les détectent. - by conformance testing to design patterns better known as "design patterns". These are the result of a synthesis of the experience gained by designers and engineers. They are generally considered good design practices in a given area or for a specific concern. Therefore, it is important to be able to verify that these good practices are used so much that can be done in an architecture. - by checking that anti-pattern patterns can not occur. Anti-patterns are in fact standard errors made when designing systems. Bottlenecks, increased interdependence between objects, cross-locks, spaghetti inter-calls, are examples of anti-patterns that require analysis tools that detect them.
- en vérifiant ou en prouvant que l'architecture répond bien aux exigences que l'on trouve dans les cas d'usage et scénarii d'utilisation. - by verifying or proving that the architecture meets the requirements found in use cases and use scenarios.
Puisque les architectures sont complexes et nécessitent beaucoup de compromis dans la phase de conception, certains processus d'analyse formelle ont été développés. On peut citer à titre d'exemple la méthode ATAM (Architecture Trade off Analysis Method) développée à l'Université de Carnegie Mellon ayant pour but d'aider les architectes à choisir leur architecture en découvrant des compromis possibles satisfaisants au mieux les objectifs de chacune des parties prenantes. Cette méthode définit un processus global de modélisation. Ce processus aide toutes les parties prenantes à exprimer leurs préoccupations afin d'obtenir les objectifs spécifiques de qualité selon lesquels l'architecture sera évaluée. En effet, des scénarii d'utilisation sont définis pour chaque partie prenante. Ces scénarii sont priorisés entre eux par les parties prenantes. L'architecture est ensuite évaluée par rapport à chaque scénario d'utilisation et sera analysée et évaluée suivant les priorités des scénarii. II est à noter aussi que la majorité des cadres architecturaux connus, de type multi-vues, comme par exemple RM-ODP ou le modèle 4+1 de P. Kruchten, définissent un ensemble de points de vue correspondant aux préoccupations des parties prenantes afin de guider l'analyse et les choix architecturaux. Since architectures are complex and require a lot of compromise in the design phase, some formal analysis processes have been developed. One example is the Architecture Trade Off Analysis Method (ATAM) developed at Carnegie Mellon University to help architects choose their architecture by discovering possible trade-offs that best meet the objectives of each of the stakeholders. This method defines a global modeling process. This process assists all stakeholders to express their concerns in order to achieve the specific quality objectives under which the architecture will be evaluated. Indeed, usage scenarios are defined for each stakeholder. These scenarios are prioritized among themselves by the stakeholders. The architecture is then evaluated against each usage scenario and will be analyzed and evaluated according to the priorities of the scenarios. It should also be noted that the majority of known multi-view architectural frameworks, such as for example RM-ODP or the 4 + 1 model of P. Kruchten, define a set of points of view corresponding to the concerns of stakeholders in order to to guide analysis and architectural choices.
Toutes les méthodes citées dans le paragraphe précédent fournissent un cadre d'analyse qui prend comme critères de choix les préoccupations des parties prenantes, telles que la sécurité, l'intégrité, la fiabilité, l'efficacité ou l'évolutivité. Ces méthodes proposent d'analyser l'architecture et de la juger par rapport à un ensemble de critères définis depuis les préocupations des différents parties prenantes. En général, il n'existe pas une architecture qui soit optimale pour tous les critères. Ainsi, l'objectif est de définir le meilleur compromis en termes d'architecture satisfaisant au mieuxles critères d'optimisation. All of the methods mentioned in the previous paragraph provide a framework for analysis that takes the concerns of stakeholders, such as security, integrity, reliability, efficiency or scalability, as criteria for choice. These methods propose to analyze the architecture and judge it against a set of criteria defined from the concerns of the different stakeholders. In general, there is not an architecture that is optimal for all criteria. Thus, the objective is to define the best compromise in terms of architecture that best satisfies the optimization criteria.
Un inconvénient de ces méthodes est dans le fait que l'évaluation de tous les critères à chaque étape de l'exploration architecturale coûte très cher. En effet, les méthodes connues n'offrent pas de procédés pour simplifier l'analyse suite à des modifications architecturales. Certaines métriques comme le temps de réponse moyen d'un composant nécessitent parfois des simulations complexes très gourmandes en temps pour être obtenues. De même, la vérification des anti-patrons est souvent un problème NP-complet qui nécessite beaucoup de savoir-faire et de temps dans le calcul avant de pouvoir valider un modèle d'architecture. Le fait d'être obligé de refaire une analyse complète à chaque modification architecturale, empêche naturellement l'architecte de faire de nombreuses itérations afin d'arriver à un bon compromis architectural. Il est donc nécessaire de trouver un procédé qui réduit le temps de l'analyse à chaque itération. A disadvantage of these methods is that the evaluation of all criteria at each stage of architectural exploration is very expensive. Indeed, the known methods do not offer methods for simplifying the analysis following architectural modifications. Some metrics such as the average response time of a component sometimes require complex simulations that are time-consuming to obtain. Similarly, checking anti-patterns is often an NP-complete problem that requires a lot of know-how and time in the calculation before being able to validate an architecture model. The fact of being obliged to redo a complete analysis with each architectural modification, naturally prevents the architect from doing many iterations in order to arrive at a good architectural compromise. It is therefore necessary to find a method that reduces the time of the analysis at each iteration.
Un autre inconvénient de ces méthodes proposant des architectures multi- vues, est la difficulté de maintenir en cohérence le modèle sous-jacent les différentes vues. Il est ainsi nécessaire de pouvoir rendre l'architecture cohérente après chaque modification locale. Another disadvantage of these methods offering multiple architectures is the difficulty of keeping the underlying model of the different views coherent. It is thus necessary to be able to make the architecture coherent after each local modification.
Un but de l'invention est notamment de pallier les inconvénients précités et de permettre, dans le cadre d'une architecture multi-vues, de : An object of the invention is in particular to overcome the aforementioned drawbacks and to allow, in the context of a multi-view architecture, to:
- maintenir la cohérence d'un modèle perçu par les vues d'une architecture où chaque vue a comme objectif de répondre à une ou plusieurs préoccupations des parties prenantes du système correspondant ; - maintain the coherence of a model perceived by the views of an architecture where each view aims to respond to one or more concerns of the stakeholders of the corresponding system;
- diminuer le temps d'analyse pour évaluer les architectures dans un processus de type itératif. - reduce the analysis time to evaluate architectures in an iterative process.
A cet effet, l'invention a pour objet un procédé d'aide à la conception d'un système apte à être modélisé par une architecture multi-vue, ledit procédé étant mis en œuvre par ordinateur, ladite architecture comportant un noyau commun et un nombre N de vues, le noyau commun comportant un ensemble d'éléments, chaque élément représentant un composant du système, une vue comportant des éléments, chacun desdits éléments étant une projection d'un élément du noyau commun selon un point de vue d'une partie prenante. Selon le procédé : For this purpose, the subject of the invention is a method of assisting the design of a system that can be modeled by a multi-view architecture, said method being implemented by computer, said architecture comprising a common core and a N number of views, the common core having a set of elements, each element representing a component of the system, a view comprising elements, each of said elements being a projection of a common core element according to a point of view of a stakeholder. According to the method:
dans une première étape, le système pour obtenir le noyau commun et les N vues est modélisé ;  in a first step, the system for obtaining the common core and the N views is modeled;
- dans une deuxième étape, un graphe ayant comme sommets les éléments du noyau commun et les éléments des vues est construit de telle sorte que chaque arête de ce graphe relie un élément d'une vue à l'élément du noyau si et seulement si l'élément de la vue est une projection de l'élément du noyau ;  in a second step, a graph having as vertices the elements of the common core and the elements of the views is constructed such that each edge of this graph connects an element of a view to the element of the nucleus if and only if element of the view is a projection of the element of the nucleus;
- dans une troisième étape, des programmes d'analyse correspondant chacun à une vue sont établis, le résultat d'un programme d'analyse étant destiné à être comparé à un critère donné propre à sa vue, puis l'exécution de ces programmes d'analyse est lancée ; in a third step, analysis programs each corresponding to a view are established, the result of an analysis program being intended to be compared to a given criterion; own view, then the execution of these programs of analysis is launched;
- dans une quatrième étape, les résultats desdits programmes d'analyse sont comparés par rapport aux critères donnés, si au moins une vue a un résultat, dit négatif, ne répondant pas à un critère donné :  in a fourth step, the results of said analysis programs are compared with respect to the criteria given, if at least one view has a result, called negative, that does not meet a given criterion:
l'architecture est modifiée en modifiant au moins un élément de ladite vue ;  the architecture is modified by modifying at least one element of said view;
tous les éléments impactés par cette modification dans les autres vues sont trouvés en détectant toutes les chaînes du graphe ayant ledit élément comme extrémité, un élément impacté étant une autre extrémité d'une chaîne ainsi détectée ;  all the elements impacted by this change in the other views are found by detecting all the strings of the graph having said element as the end, an impacted element being another end of a thus detected string;
les programmes d'analyse des vues ayant un élément impacté sont relancés ;  view analysis programs with an impacted element are restarted;
la quatrième étape étant réitérée aussi longtemps qu'un programme d'analyse produit un résultat négatif ou qu'un nombre d'itérations donné n'est pas atteint. the fourth step being repeated as long as an analysis program produces a negative result or a given number of iterations is not achieved.
L'architecture est par exemple choisie d'une manière automatique par l'ordinateur lorsque tous les résultats obtenus ne sont plus négatifs.  The architecture is for example automatically chosen by the computer when all the results obtained are no longer negative.
Lorsque le nombre d'itérations donné est atteint avec au moins un résultat négatif, les résultats d'analyse sont par exemple présentés à un opérateur. Le graphe reliant les éléments de ladite architecture est par exemple construit afin de réduire le coût d'analyse à chache modification architecturale  When the given number of iterations is reached with at least one negative result, the analysis results are for example presented to an operator. The graph connecting the elements of said architecture is for example constructed in order to reduce the cost of architectural change analysis.
Le graphe reliant les éléments de ladite architecture est par exemple mis à jour à chaque modification de ladite architecture.  The graph connecting the elements of said architecture is for example updated at each modification of said architecture.
Une vue peut comporter des éléments non reliés au graphe, lesdits éléments sont des ajouts propres à la vue.  A view may include elements unrelated to the graph, said elements are additions specific to the view.
Le graphe est par exemple construit sans itération en reliant chaque élément d'une vue à au plus un élément du noyau commun. The graph is for example constructed without iteration by connecting each element of a view to at most one element of the common core.
Le graphe peut être construit pour n'avoir que des chaînes de longueur égale à 1 ou des chaînes de longueur égale à 2.  The graph can be constructed to have only strings of length equal to 1 or strings of length equal to 2.
Dans la quatrième étape on modifie l'architecture en modifiant au moins un élément de la vue ayant le résultat estimé comme le plus négatif. Une vue est par exemple représentée par une liste de blocs composants le système. In the fourth step the architecture is modified by modifying at least one element of the view having the result estimated as the most negative. For example, a view is represented by a list of blocks that make up the system.
D'autres caractéristiques et avantages de l'invention apparaîtront à l'aide de la description qui suit, faite en regard de dessins annexés qui représentent : Other characteristics and advantages of the invention will become apparent with the aid of the description which follows, given with regard to appended drawings which represent:
la figure 1 , une représentation d'une architecture multi-vues modélisant un système ;  FIG. 1, a representation of a multi-view architecture modeling a system;
la figure 2, une illustration du principe de mise en œuvre du procédé selon l'invention ;  FIG. 2, an illustration of the principle of implementation of the method according to the invention;
- la figure 3, une illustration des chaînes du graphe de la figure précédente, reliant les éléments de l'architecture ;  FIG. 3, an illustration of the chains of the graph of the preceding figure, connecting the elements of the architecture;
la figure 4, une présentation des étapes possibles du procédé selon l'invention ;  FIG. 4, a presentation of the possible steps of the method according to the invention;
la figure 5, un vélo présenté à titre d'exemple comme un système conçu selon l'invention ;  Figure 5, a bicycle shown by way of example as a system designed according to the invention;
la figure 6, une illustration d'un exemple de vue structurelle de représention du vélo ;  FIG. 6, an illustration of an exemplary structural view of representation of the bicycle;
la figure 7, une illustration d'un exemple de vue de design du vélo ;  Figure 7 is an illustration of an example of a bicycle design view;
- la figure 8, une illustration d'un exemple de vue de sécurité du vélo ;  - Figure 8, an illustration of an example of a bicycle safety view;
la figure 9, à titre illustratif une vue partielle du graphe utilisé par le procédé selon l'invention ;  FIG. 9, for illustrative purposes, a partial view of the graph used by the method according to the invention;
la figure 10, une autre vue partielle du graphe utilisé par le procédé selon l'invention.  Figure 10, another partial view of the graph used by the method according to the invention.
La figure 1 montre une représentation d'une architecture multi-vues modélisant un système donné. Cette architecture comporte un noyau commun 1 et des vues 2 issues de projections. Dans la figure 1 , une vue 2 est définie comme une projection du noyau commun 1 selon un point de vue. Chaque vue peut comporter un ajout 4. Le standard ISO/IEC/IEEE 42010 autorise la définition d'un nombre arbitraire N de points de vue. Un point de vue peut traiter une ou plusieurs préoccupations, des parties prenantes et établit les conventions à partir desquelles la vue est représentée et analysée. Les ajouts 4 sont généralement des données non présentes dans le noyau commun 1 car elles représentent des éléments de modèle propres à la vue et seulement à celle-ci. Les vues 2 sont ainsi construites en projetant le noyau commun à partir de points de vue donnés, adressant notamment les préoccupations des parties prenantes et en leur ajoutant éventuellement des éléments 4 qui leur sont propre. Une vue comporte ainsi des données de projection 3 et des données ajoutées 4. Figure 1 shows a representation of a multi-view architecture modeling a given system. This architecture comprises a common core 1 and views 2 from projections. In FIG. 1, a view 2 is defined as a projection of the common core 1 according to a point of view. Each view may have an addition 4. The ISO / IEC / IEEE 42010 standard allows the definition of an arbitrary number N of viewpoints. A point of view can address one or more concerns, stakeholders, and establish the conventions from which the view is represented and analyzed. Additions 4 are usually data not present in the kernel common 1 because they represent elements of the model specific to the view and only to this one. The views 2 are thus constructed by projecting the common core from given points of view, addressing in particular the concerns of the stakeholders and possibly adding elements 4 of their own. A view thus includes projection data 3 and added data 4.
Etant donné que quelques représentations sont bonnes à des fins particulières et mauvaises à d'autres fins, l'utilisation des vues multiples apporte tout son intérêt. En effet, des entités de profils très différents peuvent être impliquées dans le système. Ces entités ont des préoccupations et des objectifs très différents ; elles voient l'efficacité et la productivité de façons très différentes, elles ont des points de vue différents et elles demandent des vues et des données différentes. La modélisation par vues multiples permet de découper le système en différentes vues où chaque vue est analysée indépendamment des autres vues. Elle apporte ainsi une meilleure modularité et contribue à réduire considérablement la complexité d'analyse du système. Par exemple, les analyses des performances, de sûreté, de sécurité, de disponibilité, de flexibilité, de modularité, de maintenabilité, de coût, de productivité, etc. sont faites indépendamment dans leurs vues correspondantes, on analyse ensuite l'ensemble des résultats et juge s'il faut améliorer le compromis entre toutes ces préoccupations dans son architecture. Néanmoins, cette simplification ne surmonte pas les inconvénients de l'art antérieur, en particulier elle n'enlève pas la difficulté intrinsèque dans l'analyse de certaines vues même si elles sont faites indépendamment. La vérification de propriétés de sûreté par exemple, a toujours été un problème très difficile en lui-même.  Since some representations are good for particular purposes and bad for other purposes, the use of multiple views is of great interest. Indeed, entities of very different profiles can be involved in the system. These entities have very different concerns and objectives; they see efficiency and productivity in very different ways, they have different points of view and they ask for different views and data. Multi-view modeling allows you to split the system into different views where each view is analyzed independently of the other views. It thus brings a better modularity and contributes to considerably reducing the complexity of analysis of the system. For example, performance, security, security, availability, flexibility, scalability, maintainability, cost, productivity, etc. are independently done in their corresponding views, then the overall results are analyzed and judge whether to improve the compromise between all these concerns in its architecture. Nevertheless, this simplification does not overcome the disadvantages of the prior art, in particular it does not remove the intrinsic difficulty in the analysis of certain views even if they are made independently. Verification of safety properties, for example, has always been a very difficult problem in itself.
La figure 2 illustre le principe de mise en œuvre du procédé selon l'invention à partir de la représentation de l'architecture de la figure 1 . Le procédé applique un graphe, qui sera décrit par la suite, sur l'architecture modélisant le système. Le procédé permet notamment d'avoir à tout moment le résultat de l'analyse complète de l'architecture, avec un coût d'analyse réduite. Suite à un changement dans une vue 2, le procédé analyse l'impact de ce changement aux autres vues et ordonne la ré-analyse seulement des vues impactées. Il est inutile par exemple de recalculer le coût de fabrication d'un avion, si juste un paramétrage dans un module logiciel a été effectué ; en revanche cette modification nécessitera la ré-analyse de la sûreté de fonctionnement. FIG. 2 illustrates the principle of implementation of the method according to the invention from the representation of the architecture of FIG. 1. The method applies a graph, which will be described later, on the architecture modeling the system. The method makes it possible to have at any time the result of the complete analysis of the architecture, with a reduced cost of analysis. Following a change in a view 2, the method analyzes the impact of this change on the other views and orders the re-analysis only of the impacted views. It is useless, for example, to recalculate the cost of manufacturing a plane, if just a setting in a software module has been made; on the other hand, this modification will require the re-analysis of the dependability.
En phase de conception, l'architecte fait en effet évoluer les vues et leurs modèles dans le temps, la modification de l'une d'elle pouvant entraîner une incohérence avec les autres vues. Il en résulte la nécessité d'identifier les vues et les éléments de ces vues qui seront impactés par le changement afin de répercuter la modification. Dans l'exemple des figures 1 et 2, si l'architecte fait une modification dans un élément de l'ajout d'une vue, aucune autre vue ne sera impactée car un ajout est propre à sa vue. En revanche, si un changement est fait dans un élément d'une projection, il y a des chances que d'autres vues seront impactées. In the design phase, the architect does indeed evolve the views and their models in time, the modification of one of them may lead to inconsistency with the other views. This results in the need to identify the views and elements of these views that will be impacted by the change in order to reflect the change. In the example of Figures 1 and 2, if the architect makes a modification in an element of the addition of a view, no other view will be impacted because an addition is specific to its view. On the other hand, if a change is made in an element of a projection, there are chances that other views will be impacted.
Ainsi, pour empêcher les calculs inutiles d'analyse, le procédé selon l'invention assure le référencement entre éléments du système. Ceci se fait en reliant les éléments de modèles de vues de système par des relations 21 , ou liens. L'analyse complète de toutes les vues du système, n'est donc faite qu'à la première étape du cycle de la conception ou suite à des modifications radicales dans l'architecture. Thus, to prevent unnecessary analysis calculations, the method according to the invention ensures the referencing between elements of the system. This is done by linking the system view template elements by 21 relationships, or links. The complete analysis of all the views of the system is therefore done only at the first stage of the design cycle or after radical changes in the architecture.
En effectuant le référencement, on améliore les performances de l'évaluation du système complet à chaque modification architecturale. Ensuite, on résout la difficulté majeure de cohérence qui réside dans la synchronisation et dans le maintien de la cohérence entre les modèles des vues. By performing the referencing, the performance of the evaluation of the complete system is improved with each architectural modification. Then, we solve the major difficulty of coherence which resides in the synchronization and in the maintenance of the coherence between the models of the views.
Deux étapes au moins sont mises en œuvre : At least two steps are implemented:
1 ) la construction des liens d'analyses 21 entre vues et éléments du noyau; 1) the construction of the analysis links 21 between views and elements of the core;
2) la mise en place d'une procédure de répercussion des modifications. 2) the implementation of a procedure for passing on the modifications.
Les liens ont pour fonction de référencer les dépendances entre vues afin de maintenir la cohérence entre elles et de faciliter l'analyse du système. On appelle ces liens : « liens d'analyse ». Ces liens peuvent appartenir à des ensembles de liens distincts qui dépendent des types des objets qui sont à relier entre eux. Un méta-modèle des liens peut être défini en conséquence. On pourrait par exemple créer un ensemble de liens pour relier deux vues et un autre ensemble de liens pour relier deux objets. Cependant, dans la présente invention, on suppose que tous les liens d'analyse appartiennent à un et un seul ensemble. Par ailleurs il n'y a pas de liens d'analyse entre deux projections différentes ou entre deux vues différentes. Les seuls liens 21 autorisés sont présents entre une projection 3 et le noyau commun 1 . Etant donné qu'un lien est toujours bidirectionnel, on peut le représenter par une ligne sans flèches reliant un objet 20 du noyau commun et un objet 22 de la projection. En règle générale, les éléments dans le noyau commun 1 sont représentés dans une arborescence par la majorité des outils de modélisation. On fait abstraction de cette arborescence dans la représentation de la figure 2 : le noyau commun est alors représenté comme un ensemble de points 20, plus particulièrement représentés par des petits ronds, chaque point représentant un élément ou objet. Un point du noyau commun peut être projeté dans une ou plusieurs vues. Une projection d'un point 20 est représentée par un autre point 22 dans la vue correspondante. On crée ensuite un lien 21 entre le point du noyau commun et chacun de ses points correspondant dans les projections 3, cela pour tous les points 20 du noyau. Dans la figure 2 par exemple, l'élément « a » est représenté par l'élément « 3 » de la vue n °1 , par l'élément « 1 » de la vue n °2 et par l'élément « 2 » de la vue n °N. Il existe alors 3 liens qui sont issus de l'élément « a ». Un point d'une vue n'est jamais relié à un point d'une autre vue. The links have the function of referencing the dependencies between views in order to maintain the coherence between them and to facilitate the analysis of the system. These links are called "analysis links". These links can belong to distinct sets of links that depend on the types of objects that are to be linked together. A meta-model of links can be defined accordingly. For example, we could create a set of links to link two views and another set of links to connect two objects. However, in the present invention, it is assumed that all the analysis links belong to one and only one set. Moreover, there are no analysis links between two different projections or between two different views. The only authorized links 21 are present between a projection 3 and the common core 1. Since a link is always bidirectional, it can be represented by a line without arrows connecting an object 20 of the common core and an object 22 of the projection. In general, the elements in the common core 1 are represented in a tree by the majority of the modeling tools. This tree is abstracted from the representation of FIG. 2: the common core is then represented as a set of points 20, more particularly represented by small circles, each point representing an element or object. A common core point can be projected in one or more views. A projection of a point 20 is represented by another point 22 in the corresponding view. A link 21 is then created between the point of the common core and each of its corresponding points in the projections 3, for all the points 20 of the core. In Figure 2 for example, the element "a" is represented by the element "3" of the view No. 1, the element "1" of the view No. 2 and the element "2" from view no. There are 3 links that come from the element "a". A point of a view is never connected to a point of another view.
Grâce à la création des liens d'analyse, l'architecte peut être informé des éléments des divers vues qui sont impactés par un changement qu'il a fait dans une vue. Par conséquent, il ne relance que les programmes d'analyse faisant appel aux éléments 22 impactés dans les vues. Par exemple, dans la figure 2, suite à une modification de l'élément « 1 » de la vue n °2, seulement les vues n °1 et n °N sont impactés en raison des liens de l'élément « a » décrits ci-dessus. Les programmes d'analyse des autres vues n'ont pas besoin d'être relancés. Plus particulièrement, seulement les programmes d'analyse faisant appel à l'élément « 3 » de la vue n°1 et à l'élément « 2 » de la vue n °N, ont besoin d'être mis à jour et relancés. Il est à noter qu'un élément dans une vue peut en principe être lié à plus qu'un élément dans le noyau commun. Cependant pour des soucis de lisibilité et d'efficacité dans l'analyse, il est possible de construire des architectures où un élément dans une projection est lié à un et un seul élément du noyau commun comme cela est illustré par la figure 2. Les liens 21 et les éléments 20, 22 de l'architecture de la figure 2 forment un graphe. Through the creation of the analysis links, the architect can be informed of the elements of the various views that are impacted by a change that he made in a view. Therefore, it only restarts the analysis programs using the elements 22 impacted in the views. For example, in Figure 2, following a modification of the element "1" of the view No. 2, only the views No. 1 and No. N are impacted because of the links of the element "a" described above. The analysis programs of the other views do not need to be restarted. More specifically, only the analysis programs using the element "3" of the view # 1 and the element "2" of the view # N need to be updated and restarted. It should be noted that an element in a view can in principle be linked to more than one element in the common kernel. However, for the sake of readability and efficiency in the analysis, it is possible to construct architectures where an element in a projection is linked to one and only one element of the common core, as shown in FIG. 21 and the elements 20, 22 of the architecture of Figure 2 form a graph.
En théorie des graphes, un graphe non orienté G = (S, A) est défini par la donnée d'un ensemble de sommets S et d'un ensemble d'arêtes A, chaque arête étant une paire de sommets (par exemple, si x et y sont des sommets, la paire {x, y} - notée aussi xy - peut être une arête du graphe G. Dans un tel graphe, une chaîne d'extrémités x et y est définie par une suite finie d'arêtes consécutives, reliant x à y. Une chaîne élémentaire est une chaîne ne passant pas deux fois par un même sommet, c'est-à-dire dont tous les sommets sont distincts. La longueur d'une chaîne est le nombre d'arêtes de la chaîne. In graph theory, an undirected graph G = (S, A) is defined by the data of a set of vertices S and a set of edges A, each edge being a pair of vertices (for example, if x and y are vertices, the pair {x, y} - also noted xy - can be an edge of the graph G. In such a graph, a chain of x and y ends is defined by a finite sequence of consecutive edges , linking x to y An elementary chain is a string that does not pass twice by the same vertex, that is to say, whose vertices are all distinct.The length of a string is the number of edges of the string. chain.
Dans le procédé selon l'invention, le graphe G comporte : In the method according to the invention, the graph G comprises:
- un ensemble de sommets S : ces sommets étant les éléments 20, 22 qui sont à la fois dans le noyau commun 1 et les projections 2 ; a set of vertices S: these vertices being the elements 20, 22 which are both in the common core 1 and the projections 2;
- un ensemble d'arêtes A : ces arêtes étant les liens d'analyse 21 . Selon l'invention, après une modification d'un sommet x appartenant à une projection 3 d'une vue 2, on détecte l'ensemble de tous les autres sommets du graphe G qui sont impactés par le changement sur x. Cette opération revient à chercher l'ensemble des chaînes élémentaires du graphe G ayant le sommet x comme une extrémité. Ce problème est assez connu en théorie de graphes et il est résolu avec des méthodes efficaces connues. De plus, dans le cas où chaque sommet dans les projections est lié à un et un seul élément du noyau commun, tous les chemins du graphe G ont une longueur maximum de 2 comme le montrera la figure 3 ci-après. Par exemple, si on suppose que les liens 21 formant les arêtes dans la figure 2 représentent toutes les arêtes de ce graphe, on y détecte alors 12 chaînes en tout, dont 6 sont de longueur 2 et 6 de longueur 1 . La figure 3 illustre ces chaînes, correspondant au graphe de la figure 2. A cet effet, la figure 3 présente trois ensembles de sommets 31 , 32, 33. Les deux ensembles 31 et 33 représentent des éléments des vues en liaison avec un élément du noyau. L'ensemble 32 représente des éléments du noyau en liaison avec des éléments de vues. Par exemple, l'élément « 2 » de la vue n°3 est en liaison avec l'élément « d » du noyau, l'élément « 1 » de la vue n°3 est en liaison avec l'élément « c » du noyau. Ainsi, cette figure 3 montre que l'élément « d » du noyau est en bout de chaîne, la longueur de la chaîne étant alors égale à 1 , alors que l'élément « c » du noyau est aussi relié à l'élément « 2 » de la vue n °2. La longueur de la chaîne étant ici égale à 2. Avantageusement, un graphe peut ainsi être construit pour n'avoir que des chaînes de longueur égale à 1 ou des chaîne de longueur égale à 2. Cela permet notamment de faciliter la recherche de l'impact de la modification d'un élément sur le reste de l'architecture. a set of edges A: these edges being the analysis links 21. According to the invention, after a modification of a vertex x belonging to a projection 3 of a view 2, the set of all the other vertices of the graph G are detected which are impacted by the change on x. This operation returns to find all the elementary chains of the graph G having the vertex x as an end. This problem is well known in graph theory and is solved with known efficient methods. Moreover, in the case where each vertex in the projections is linked to one and only one element of the common core, all the paths of the graph G have a maximum length of 2 as will be shown in FIG. 3 below. For example, if we suppose that the links 21 forming the edges in FIG. 2 represent all the edges of this graph, then 12 chains in total, of which 6 are of length 2 and 6 of length 1, are detected therein. FIG. 3 illustrates these chains, corresponding to the graph of FIG. 2. For this purpose, FIG. 3 presents three sets of vertices 31, 32, 33. The two sets 31 and 33 represent elements of the views in connection with an element of FIG. core. The set 32 represents elements of the core in connection with elements of views. For example, the element "2" of the view n ° 3 is in connection with the element "d" of the nucleus, the element "1" of the view n ° 3 is in connection with the element "c" of the nucleus. Thus, this FIG. 3 shows that the element "d" of the core is at the end of the chain, the length of the chain then being equal to 1, whereas the element "c" of the core is also connected to the element " 2 "of view # 2. The length of the chain here being equal to 2. Advantageously, a graph can thus be constructed to have only chains of length equal to 1 or chains of length equal to 2. This makes it possible in particular to facilitate the search for the impact of modifying an element on the rest of the architecture.
A partir du graphe ou de l'ensemble de chaîne tels qu'illustrés par les figures 2 et 3, il devient possible de définir de manière automatique et en temps réel l'ensemble des sommets qui peuvent être impactés par une modification sur l'un des sommets correspondant à un élément d'une vue. From the graph or the set of chains as illustrated by FIGS. 2 and 3, it becomes possible to define automatically and in real time all the vertices that can be impacted by a modification on one vertices corresponding to an element of a view.
La figure 4 illustre les étapes possibles d'un procédé selon l'invention appliqué pour la réalisation d'un système. Ces étapes sont mises en œuvre par un ordinateur, ce terme englobant tous systèmes de traitement apte à mettre en œuvre automatiquement ces étapes. Dans une première étape 41 , le système sous étude est modalisé afin d'obtenir le noyau commun et ses projections en prenant en compte tous les points de vue, comme illustré notamment par la figure 1 . FIG. 4 illustrates the possible steps of a method according to the invention applied for the realization of a system. These steps are implemented by a computer, this term encompassing all processing systems capable of automatically implementing these steps. In a first step 41, the system under study is modulated to obtain the common core and its projections taking into account all the points of view, as illustrated in particular by Figure 1.
Pour cette modélisation, on peut utiliser les deux approches suivantes ou un mixte des deux pour créer l'architecture. Ces deux approches consistent: a. soit à construire d'abord des briques du noyau commun (dans ce cas l'édition se fait souvent en UML ou SysML), pour ensuite projeter ces briques selon les points de vue. On complète ensuite les modèles de chaque vue par des ajouts qui sont propres à chaque vue. b. Soit à commencer par écrire les modèles des vues associées aux points de vue et construire ensuite le noyau commun à partir de ces vues. (Dans ce cas l'édition se fait avec les langages des points de vue). For this modeling, we can use the following two approaches or a combination of both to create the architecture. These two approaches consist of: a. either to first build bricks of the common nucleus (in this case the edition is often made in UML or SysML), then to project these bricks according to the points of view. We complete then the models of each view by additions that are specific to each view. b. Either start by writing the views templates associated with the viewpoints and then build the common kernel from these views. (In this case the editing is done with the languages of the points of view).
Dans une deuxième étape 42, le graphe d'analyse entre éléments du noyau commun et éléments des modèles dans les vues, tel que défini dans l'étape précédente, est construit. La figure 2 illustre la construction d'un tel graphe. La construction du graphe peut se faire d'une manière semi-automatique. In a second step 42, the analysis graph between elements of the common core and elements of the models in the views, as defined in the previous step, is constructed. Figure 2 illustrates the construction of such a graph. The construction of the graph can be done in a semi-automatic way.
Il est à noter que dans la pratique la conception d'un système est relativement simple, en revanche quand on s'intéresse aux préoccupations et points de vue comme les performances, le respect de l'environnement ou la sûreté, la conception du système devient de plus en plus complexe. Ceci fait que les ajouts à chaque vue peut devenir très importants mais heureusement ces ajouts n'affecteront pas le graphe d'analyse. It should be noted that in practice the design of a system is relatively simple, however when one is interested in concerns and points of view such as performance, respect for the environment or safety, the design of the system becomes more and more complex. This means that additions to each view can become very important, but fortunately these additions will not affect the analysis graph.
Dans une troisième étape 43, les programmes d'analyse, qui correspondent aux vues de l'architecture et qui prennent en compte l'ensemble des préoccupations des parties prenantes, sont mis en place puis sont lancés, simultanément ou séquentiellement selon l'architecture de la plateforme d'analyse. Pour chaque vue, un programme d'analyse conduit à un résultat destiné à être comparé à un critère donné propre à cette vue. In a third step 43, the analysis programs, which correspond to the views of the architecture and which take into account all the concerns of the stakeholders, are set up and then launched, simultaneously or sequentially according to the architecture of the architecture. the analysis platform. For each view, an analysis program leads to a result intended to be compared to a given criterion specific to this view.
Dans une quatrième étape 44, une analyse 40 des résultats des programmes d'analyse est effectuée. L'analyse est effectuée en comparant les résultats obtenus par rapport à des critères donnés. Ces critères dépendent des points de vue. Pour une vue, un résultat est dit négatif s'il ne répond pas à un critère donné propre à cette vue. In a fourth step 44, an analysis 40 of the results of the analysis programs is performed. The analysis is performed by comparing the results obtained against given criteria. These criteria depend on the points of view. For a view, a result is negative if it does not meet a given criterion specific to that view.
Si toutes les parties prenantes sont satisfaites par les résultats d'analyse 45, une architecture de consensus a alors été trouvée 46. La satisfaction d'une partie prenante est déterminée automatiquement par le résultat d'analyse, un résultat négatif correspondant à une insatisfaction. If all the stakeholders are satisfied with the results of the analysis 45, then a consensus architecture was found 46. The satisfaction of a stakeholder is determined automatically by the result of analysis, a negative result corresponding to dissatisfaction.
Si au moins une vue a un résultat négatif, l'architecture est modifiée 47. Plus particulièrement : If at least one view has a negative result, the architecture is modified 47. More specifically:
- on se focalise sur un résultat d'analyse d'une vue qui paraît le plus négatif et on modifie l'architecture afin d'améliorer ce résultat, la modification de l'architecture se fait par la modification d'au moins un élément de cette vue ; - si nécessaire, on remet à jour le graphe d'analyse suite à la modofication dans l'architecture, l'ajout d'un élément à l'architecture pouvant nécessiter l'ajout de liens au graphe d'analyse ; - we focus on a result of analysis of a view that seems the most negative and we modify the architecture to improve this result, the modification of the architecture is done by the modification of at least one element of this view; - If necessary, update the analysis graph following the modofication in the architecture, the addition of an element to the architecture may require the addition of links to the analysis graph;
- on détecte tous les éléments impactés par cette modification dans les autres vues, en détectant toutes les chaînes du graphe d'analyse ayant cet élément modifié comme extrémité, un élément impacté étant à l'autre extrémité d'une chaîne ainsi détectée ; all the elements impacted by this modification are detected in the other views, by detecting all the chains of the analysis graph having this modified element as the end, an impacted element being at the other end of a chain thus detected;
- On relance 48 les programmes d'analyse qui font appel aux éléments modifiés, plus particulièrement on identifie les vues impactées et on lance les programmes d'analyse correspondants ; Les itérations nécessaires sont effectuées jusqu'à obtenir tous les résultats d'analyse positifs (aucun résultat négatif). Avantageusement, seuls les programmes associés à une vue ayant un élément impacté par une modification d'architecture sont relancés dans l'étape 44. - We restart 48 analysis programs that use the modified elements, especially we identify the impacted views and launch the corresponding analysis programs; The necessary iterations are carried out until all the positive analysis results are obtained (no negative results). Advantageously, only programs associated with a view having an element impacted by an architecture modification are restarted in step 44.
Cette étape 44 est réitérée aussi longtemps qu'un programme d'analyse produit un résultat négatif. Etant donné que le programme mis en œuvre par un ordinateur ne peut pas tourner indéfiniment, on prévoit une limite pour le nombre d'itérations. On considère ainsi qu'à partir d'un nombre donné d'itérations tous les résultats positifs ne peuvent être obtenus. En d'autres termes toutes les parties prenantes ne peuvent être satisfaites selon les critères décidés. On détermine ainsi un nombre d'itérations maximal qui peut dépendre du type système. Lorsque ce nombre maximal est atteint sans avoir répondu aux exigences ou préoccupations des parties prenantes, en général d'ordre techniques, un opérateur manuel doit prendre la suite des opération pour aboutir à une architecture. Cet opérateur peut être un architecte système. Pour l'aider à prendre sa choisir le bon compromis entre toutes les parties prenantes, un dispositif selon l'invention peut lui présenter les résultats d'analyse au moyen d'une interface adaptée. This step 44 is repeated as long as an analysis program produces a negative result. Since the program implemented by a computer can not run indefinitely, a limit is provided for the number of iterations. It is thus considered that from a given number of iterations all the positive results can not be obtained. In other words, not all stakeholders can be satisfied according to the agreed criteria. This determines a maximum number of iterations that can depend on the system type. When this maximum number is reached without having met the requirements or concerns of the stakeholders, generally of a technical nature, a manual operator must take the following steps to achieve an architecture. This operator can be a system architect. To help it to choose a good compromise between all the stakeholders, a device according to the invention can present the analysis results by means of a suitable interface.
Ainsi, si on ne parvient pas à obtenir la totalité des résultats positifs de manière automatique, une architecture choisie peut être celle qui apporte le plus de compromis. En règle générale, on choisit l'architecture en fonction des résultats d'analyses obtenus.. Thus, if we can not achieve all the positive results automatically, a chosen architecture can be the one that brings the most compromise. As a general rule, the architecture is chosen according to the results of analyzes obtained.
L'itération des étapes d'analyse 40 et de modification de l'architecture peuvent exiger beaucoup de temps de fonctionnement des moyens de traitement les mettant en œuvre, typiquement un ordinateur. La durée de traitement peut prendre plusieurs heures, dépendant du nombre d'itérations maximal défini. Dans ce cas, on peut prévoir un fonctionnement par batch. Avantageusement, le traitement peut être interrompu pour permettre à un opérateur de consulter l'état de l'architecture et des résultats d'analyse. The iteration of the analysis and modification steps 40 of the architecture can require a lot of operating time of the processing means implementing them, typically a computer. The processing time can take several hours, depending on the maximum number of iterations defined. In this case, a batch operation can be provided. Advantageously, the processing can be interrupted to allow an operator to consult the state of the architecture and the analysis results.
Les figures suivantes illustrent un exemple de mise en œuvre du procédé selon l'invention où le système est un vélo. Cet exemple illustre aussi la variabilité des points de vues et des notations dédiées aux différentes parties prenantes. The following figures illustrate an example of implementation of the method according to the invention where the system is a bicycle. This example also illustrates the variability of views and ratings dedicated to different stakeholders.
La figure 5 illustre une architecture d'un vélo où l'on prend en compte les six préoccupations ci-dessous formant des points de vue à partir du noyau commun 50 de l'architecture du vélo : - la structure 51 , décrivant un vélo qui a des roues, un guidon, des vitesses, des frein, etc. ... Figure 5 illustrates an architecture of a bicycle that takes into account the six concerns below forming points of view from the common core 50 of the bicycle architecture: - Structure 51, describing a bicycle that has wheels, handlebars, gears, brakes, etc. ...
- le design 52 ; - the design 52;
- la maintenabilité 53 ; - maintainability 53;
- le coût 54 ; - la sécurité du cycliste et des piétons 55 ; - les performances du vélo 56. - the cost 54; - the safety of cyclists and pedestrians 55; - the performance of the bike 56.
La figure 6 illustre la construction de la vue structurelle 51 , ou vue statique, par un exemple de représentation du vélo à l'aide d'un diagramme de définition de blocs au sens de SysML. La liste des blocs 60 est la suivante : FIG. 6 illustrates the construction of the structural view 51, or static view, by an example of representation of the bicycle using a block definition diagram in the sense of SysML. The list of blocks 60 is as follows:
Guidon, Poignée, Tige, Tube de direction, Fourche, Cadre, Base arrière, Hauban, Selle, Tige de selle, Tube de selle, Bielle, Pédale, Plateaux, Pignon, Chaîne, Roues, Freins, Dérailleurs, Amortisseurs, Signalisation Handlebar, Handle, Rod, Steering tube, Fork, Frame, Rear base, Shroud, Saddle, Seatpost, Seatpost, Connecting rod, Pedal, Trays, Sprocket, Chain, Wheels, Brakes, Derailleurs, Shock absorbers, Signaling
Le cadre 61 est composé à son tour d'un tube horizontal 61 1 et d'un tube diagonal 612. Quant à une roue 62, elle est composée de rayons 621 , d'un moyeu 622, d'une jante 623, d'un pneu 624 et d'une valve 625. The frame 61 is composed in turn of a horizontal tube 61 1 and a down tube 612. As for a wheel 62, it is composed of spokes 621, a hub 622, a rim 623, a a 624 tire and a 625 valve.
La vue structurelle 51 est analysée par l'ordinateur afin de donner une note qui prend par exemple trois valeurs : The structural view 51 is analyzed by the computer to give a note that takes for example three values:
- Note C : signifiant que l'architecture n'est pas acceptable, ne répond pas aux exigences, il manque par exemple des composants obligatoires comme le frein ; - Note C: meaning that the architecture is not acceptable, does not meet the requirements, it lacks for example mandatory components such as the brake;
- Note B : signifiant que l'architecture est acceptable, les exigences obligatoires sont satisfaites mais des options peuvent manquer, par exemple absence de garde boue ; - Note A : signifiant que toutes les exigences obligatoires et optionnelles sont satisfaites. - Note B: meaning that the architecture is acceptable, the mandatory requirements are met but some options may be missing, eg lack of mudguard; - Note A: Meaning that all mandatory and optional requirements are met.
Un programme d'analyse vérifie automatiquement si l'architecture répond aux exigences. La note A est considérée comme positive. Les notes B et C sont considérées négatives mais un opérateur, un architecte par exemple, peut trancher pour maintenir une architecture avec une note B. An analysis program automatically checks if the architecture meets the requirements. A grade is considered positive. Notes B and C are considered negative but an operator, an architect, for example, can decide to maintain an architecture with a grade B.
La figure 7 illustre la construction de la vue du design 52. Le design du vélo 70 doit prendre en compte des contraintes techniques imposées par les ingénieurs, ces contraintes formant le point de vue de la vue du design 52. Par exemple, la structure du vélo doit contenir un triangle sur lequel le poids du cycliste sera réparti à partir du point d'appui de la selle, qui sera associé à un second triangle plus petit sur lequel est montée la roue arrière. Le choix des matériaux tient compte des contraintes de performance (poids) et de maintenabilité (rigidité). Les matériaux pour un vélo peuvent contenir un alliage d'acier et de chrome, de l'aluminium (économique), de la fibre de carbone ou du titane, ces matériaux étant cependant onéreux. On suppose aussi que le confort fait partie du design du vélo. Le confort du vélo dépend du choix de la selle, de la géométrie du cadre, des pneumatiques et des amortisseurs. On peut proposer plusieurs designs différents qui sont par exemple notés par les parties prenantes concernées par le design. Les notes peuvent ensuite être pondérées pour obtenir une note par design. Figure 7 illustrates the construction of the design view 52. The design of the bicycle 70 must take into account the technical constraints imposed by the engineers, these constraints forming the point of view of the design view 52. For example, the structure of the design bicycle must contain a triangle on which the weight of the cyclist will be distributed from the fulcrum of the saddle, which will be associated with a second, smaller triangle on which the rear wheel is mounted. The choice of materials takes into account the constraints of performance (weight) and maintainability (rigidity). The materials for a bicycle can contain a combination of steel and chromium, aluminum (economic), carbon fiber or titanium, these materials being however expensive. It is also assumed that comfort is part of the design of the bike. The comfort of the bike depends on the choice of the saddle, the geometry of the frame, the tires and the shock absorbers. Several different designs can be proposed that are, for example, rated by stakeholders involved in design. The notes can then be weighted to obtain a mark per design.
La vue de design 52 est par exemple analysée automatiquement afin de donner une note qui prend trois valeurs : The design view 52 is for example analyzed automatically to give a note that takes three values:
- C : Design non acceptable, ne répond aux exigences ; - C: Design not acceptable, does not meet the requirements;
- B : Design acceptable, les exigences obligatoires sont satisfaites mais des options peuvent manquer ; - B: Design acceptable, mandatory requirements are met but options may be missing;
- A : Toutes les exigences obligatoires et optionnelles sont satisfaites. - A: All mandatory and optional requirements are met.
Toujours dans le cadre de l'analyse de la vue de design 52, le choix des matériaux aluminum, acier, chrome, fibre de carbone ou titane influe sur le design. La vue est ainsi par exemple analysée afin de donner une note qui prend trois valeurs : Still in the context of the 52 design view analysis, the choice of aluminum, steel, chrome, carbon fiber or titanium materials influences the design. The view is for example analyzed to give a note that takes three values:
- C : aluminum ; - C: aluminum;
- B : acier ou chrome ; - B: steel or chrome;
- A : fibre de carbone ou titane. - A: carbon fiber or titanium.
Le confort du vélo dépend du choix de la selle, de la géométrie du cadre, des pneumatiques et des amortisseurs. L'analyse du confort dans la vue de design nécessite un programme informatique avec des règles complexes délivrant une note prenant quatre valeurs par exemple : The comfort of the bike depends on the choice of the saddle, the geometry of the frame, the tires and the shock absorbers. The analysis of comfort in the design view requires a computer program with complex rules delivering a note taking four values for example:
- A : très confortable ; - A: very comfortable;
- B : confortable ; - C : passable ; - B: comfortable; - C: passable;
- D : confort médiocre. - D: poor comfort.
Pour la construction de la vue de maintenabilité 53, on peut utiliser des échelles allant d'une valeur minimale vers une valeur maximale. L'entretien courant d'un vélo consiste principalement à : For the construction of the maintainability view 53, it is possible to use scales ranging from a minimum value to a maximum value. Routine maintenance of a bicycle consists mainly of:
- s'assurer de la pression des pneumatiques  - check tire pressure
- réparer les petites crevaisons  - repair small punctures
- remplacer les pneus lorsque leur usure devient trop importante - replace the tires when their wear becomes too important
- changer les patins de freins - change the brake pads
- remettre la chaîne en place en cas de déraillement  - replace the chain in case of derailment
En général, la maintenabilité et la facilité d'entretien du vélo sont très corrélés avec la durée de vie des pneus, patins et au bon fonctionnement des dérailleurs de vitesse. L'architecte peut décider de représenter la qualité des pneus, des patins de freins et des dérailleurs sur une échelle allant de A à G ; A pour le plus résistant et G pour le plus fragile.  In general, maintainability and serviceability of the bike are highly correlated with the service life of the tires, pads and the proper operation of the derailleurs. The architect may decide to represent the quality of the tires, brake pads and derails on a scale from A to G; A for the most resistant and G for the most fragile.
Pour construire la vue de coûts 54, on peut utiliser un tableur. Le coût de fabrication d'un vélo est en général représenté dans un tableur énumérant tous les coûts élémentaires incluant notamment les coûts de recherche et développement, du personnel, de la logistique, des bâtiments, de la consommation d'énergie. Les prix d'achat des composants du vélo, tels que décrits par les blocs de la figure 6 décroissent quand les volumes d'achat augmentent. Ces coûts peuvent alors être représentés sur plusieurs colonnes en fonction des volumes. Le tableau qui suit illustre un exemple de vue partielles des coûts 54, les prix d'achat des composants du vélo tels que décrits par les blocs de la figure 6 étant indiqués en fonction de volumes donnés : To build the cost view 54, a spreadsheet can be used. The cost of manufacturing a bicycle is generally represented in a spreadsheet listing all the basic costs including in particular the costs of research and development, personnel, logistics, buildings, energy consumption. The purchase prices of bike components, as described by the blocks in Figure 6, decrease as purchase volumes increase. These costs can then be represented on several columns depending on volumes. The following table illustrates an example of a partial view of the costs 54, the purchase prices of the components of the bicycle as described by the blocks of FIG. 6 being indicated according to given volumes:
Volumel Volume2 Volume3 Volume Volume2 Volume3
Guidon 4,2 3,2 2,4 Handlebar 4,2 3,2 2,4
Poignée 2,1 1 ,6 1 ,2Handle 2.1 1, 6 1, 2
Tige 2,1 1 ,6 1 ,2Rod 2.1 1, 6 1, 2
Tube de direction 2,1 1 ,6 1 ,2Steering tube 2.1 1, 6 1, 2
Fourche 4,2 3,2 2,4 Cadre 4,2 3,2 2,4Fork 4,2 3,2 2,4 Framework 4.2 3.2 2.4
Base arrière 2,1 1 ,6 1 ,2Rear base 2.1 1, 6 1, 2
Hauban 4,2 3,2 2,4Hauban 4,2 3,2 2,4
Selle 4,2 3,2 2,4Saddle 4.2 3.2 2.4
Tige de selle 2,1 1 ,6 1 ,2Seatpost 2.1 1, 6 1, 2
Tube de selle 2,1 1 ,6 1 ,2Seatpost 2.1 1, 6 1, 2
Bielle 2,1 1 ,6 1 ,2Rod 2.1 1, 6 1, 2
Pédale 2,1 1 ,6 1 ,2Pedal 2.1 1, 6 1, 2
Plateaux 6,3 4,8 3,6Trays 6.3 4.8 3.6
Pignon 4,2 3,2 2,4Sprocket 4.2 3.2 2.4
Chaîne 4,2 3,2 2,4Chain 4.2 3.2 2.4
Roues 8,4 6,4 4,8Wheels 8.4 6.4 4.8
Freins 2,1 1 ,6 1 ,2Brakes 2.1 1, 6 1, 2
Dérailleurs 2,1 1 ,6 1 ,2Derailleurs 2.1 1, 6 1, 2
Amortisseurs 4,2 3,2 2,4Shock absorbers 4,2 3,2 2,4
Signalisation 2,1 1 ,6 1 ,2 Signaling 2.1 1, 6 1, 2
Total 71 ,4 54,4 40,8 Total 71, 4 54.4 40.8
Le programme d'analyse délivre la note correspondant au coût de production du vélo, deux notes sont par exemple possibles : The analysis program delivers the note corresponding to the cost of production of the bike, two notes are for example possible:
- A : si le coût est inférieur ou égal à 60 euros ; - B : si le coût est supérieur à 60 euros. - A: if the cost is less than or equal to 60 euros; - B: if the cost is greater than 60 euros.
Dans cet exemple de vélo, l'architecture est acceptable si et seulement si le programme d'analyse délivre la note A. In this bike example, the architecture is acceptable if and only if the analysis program delivers the grade A.
La figure 8 illustre la construction de la vue de sécurité 55. En effet, il ne suffit pas que le vélo puisse rouler, il faut que la sécurité du cycliste et des piétons soit assurée. Des dispositifs supplémentaires doivent à cet effet être ajoutés au vélo. Le vélo doit avoir notamment un système de freinage 81 efficace, à l'avant et à l'arrière, un système d'éclairage avant 82 et arrière 83, ainsi qu'un système de catadioptres 84, 85 répartis sur les pédales et/ou les rayons des roues pour être visible latéralement, et à l'avant 86 et à l'arrière 87 pour compléter la visibilité. On prévoit par ailleurs un dispositif sonore 88. Les pneus sont les seuls composants du vélo qui touchent le sol, ils doivent avoir une bonne adhérence au sol pour minimiser le risque de chute. L'analyse de sécurité a par exemple une valeur binaire : « conforme » ou « non conforme ». Par exemple, pour être conforme aux normes de sécurité, tous les dispositifs de sécurité doivent être présents sur un vélo. Le programme d'analyse peut ainsi délivrer deux notes pour la conforminté des pneus, la conformité du système de freinage et conformité de la visibilité du vélo : Figure 8 illustrates the construction of the safety sight 55. Indeed, it is not enough that the bike can ride, it is necessary that the safety of the cyclist and pedestrians is ensured. Additional devices must be added to the bike for this purpose. The bicycle must have in particular an effective braking system 81, front and rear, a front lighting system 82 and rear 83, and a system of reflex reflectors 84, 85 distributed on the pedals and / or the spokes of the wheels to be visible laterally, and at the front 86 and at the rear 87 to complete the visibility. It also provides a sound device 88. The tires are the only components of the bike that touch the ground, they must have a good grip on the ground to minimize the risk of falling. The security analysis, for example, has a binary value: "compliant" or "non-compliant". For example, to comply with safety standards, all safety devices must be present on a bicycle. The analysis program can thus deliver two notes for the conformity of the tires, the conformity of the braking system and the conformity of the bike's visibility:
- A : conforme ; - A: compliant;
- B : non conforme. - B: not in conformity.
Enfin, on procède à la construction de la vue de performance 56. L'exigence de performance dans l'exemple du vélo peut correspondre à l'exigence type suivante : le vélo doit pouvoir atteindre la vitesse de 50 km/h sur une route plate en l'absence de vent. L'architecture du système, le vélo dans cet exemple, doit prendre en compte les contraintes environnementales. Dans le cas du vélo, on peut citer les contraintes suivantes qui sont trois types de résistances différentes auxquelles le cycliste doit face : la traînée aérodynamique de l'air, la résistance au roulement engendrée par le contact des roues sur le sol et des frictions sur les pièces mécaniques et la force de gravité due au poids de l'ensemble vélo-cycliste dans la montée. Finally, performance view 56 is constructed. The performance requirement in the bike example can be the following standard requirement: the bike must be able to reach 50 km / h on a flat road in the absence of wind. The architecture of the system, the bike in this example, must take into account the environmental constraints. In the case of cycling, the following constraints are three different types of resistance that the cyclist must face: the aerodynamic drag of the air, the rolling resistance generated by the contact of the wheels on the ground and friction on the ground. the mechanical parts and the force of gravity due to the weight of the bike-cyclist assembly in the climb.
Par conséquent, l'architecture du système vélo doit : - présenter un design permettant au cycliste d'avoir une position confortable minimisant la traînée aérodynamique ; Therefore, the architecture of the bike system must: - have a design that allows the rider to have a comfortable position minimizing aerodynamic drag;
- permettre une réduction du frottement des pneus et utiliser des roulements à billes pour les pièces mécaniques ; - reduce tire friction and use ball bearings for mechanical parts;
- présenter des matériaux permettant d'obtenir une structure légère afin de réduire le poids du vélo. - to present materials allowing to obtain a light structure in order to reduce the weight of the bike.
D'autres adaptations, dont il n'est nécessaire de rentrer dans les détails, doivent aussi être prises en compte pour assurer le niveau de performance souhaité. A titre d'exemple, et pour des raisons de simplification, on s'intéresse uniquement à l'analyse de résistance au frottement. Il est à noter qu'un matériau ne peut pas être caractérisé à lui seul par un coefficient de frottement. Seul un couple de matériaux permet de mettre en évidence un coefficient de frottement. Other adaptations, of which it is necessary to go into the details, must also be taken into account to ensure the desired level of performance. By way of example, and for reasons of simplification, only the analysis of friction resistance is of interest. It should be noted that a material can not be characterized on its own by a coefficient of friction. Only a couple of materials can highlight a coefficient of friction.
La valeur d'un coefficient de frottement dépend, par ordre d'importance décroissant, du couple de matériaux en contact, de la lubrification, de l'état de surface des matériaux et de la température. A titre d'exemple, on dispose comme données d'entrée trois types de pneus offrant les coefficients de traitement suivant : The value of a coefficient of friction depends, in descending order of importance, on the couple of materials in contact, the lubrication, the surface condition of the materials and the temperature. By way of example, three types of tires are available as input data, with the following treatment coefficients:
Figure imgf000022_0001
Figure imgf000022_0001
Ce tableau est un exemple d'une vue de performance 56 dans le cas où l'analyse de la performance porte uniquement sur les frottements. Les programmes d'analyse de performance sont donc en général des programmes très complexes qui doivent prendre en compte la traînée aérodynamique de l'air, la résistance au roulement engendrée par le contact des roues sur le sol et des frictions sur les pièces mécaniques et la force de gravité due au poids de l'ensemble vélo-cycliste dans la montée. L'exigence de performance dans l'exemple du vélo peut par exemple correspondre à l'exigence suivante : le vélo doit pouvoir atteindre la vitesse de 50 km/h sur une route plate en l'absence de vent. Le programme délivre la note A si c'est le cas, et la note B dans le cas contraire. Une note peut également être délivrée pour le coefficient de frottement selon qu'il dépasse ou non une valeur donnée. This table is an example of a performance view 56 in the case where the performance analysis relates only to friction. Performance analysis programs are therefore generally very complex programs that must take into account the aerodynamic drag of the air, the rolling resistance generated by the contact of the wheels on the ground and friction on the mechanical parts and the gravitational force due to the weight of the bicycle-bike set in the climb. For example, the performance requirement in the example of a bicycle may correspond to the following requirement: the bike must be able to reach 50 km / h on a flat road in the absence of wind. The program delivers the note A if it is the case, and the note B in the opposite case. A note may also be issued for the coefficient of friction depending on whether or not it exceeds a given value.
Le tableau ci-dessous, pouvant être affiché sur un écran, récapitule des notes délivrée par le programme à une intération donnée. The table below, which can be displayed on a screen, summarizes notes delivered by the program to a given interation.
Figure imgf000023_0001
Figure imgf000023_0001
Etant donné qu'il reste toujours des valeurs négatives, l'architecture doit donc être modifiée, soit automatiquement, soit manuellement, pour rendre une de ces valeurs positives. Suite à ce changement d'architecture, les programmes d'analyse des vues affectées sont relancées et ainsi de suite. L'opérateur utilisant un dispositif selon l'invention peut décider ou non selon le résultat de relancer l'automatisme ou d'arrêter un choix de compromis. Il peut décider par ailleurs d'arrêter l'automatisme à l'issue d'un nombre donné d'itérations, puis de faire une modification manuelle ou de relance l'automatisme. La figure 9 illustre le graphe d'analyse pour l'exemple du système vélo, plus particulièrement seule une partie du graphe est représentée. En conformité avec la figure 5, l'architecture comporte un noyau commun 50 et les six vues 51 , 52, 53, 54, 55, 56 précédemment décrites. L'architecture de la figure 9 précise les blocs contenus dans le noyau commun et les blocs contenus dans les vues ainsi que les liens entre les différents blocs. Les blocs Ci contenus dans les vues peuvent être des éléments de projections issues du noyau 50 ou des ajouts. Since there are still negative values, the architecture must be modified, either automatically or manually, to make one of these values positive. Following this change of architecture, the analysis programs of the affected views are restarted and so on. The operator using a device according to the invention can decide whether or not the result of restarting the automation or to stop a compromise choice. It can also decide to stop the automation at the end of a given number of iterations, then to make a manual modification or restart the automation. FIG. 9 illustrates the analysis graph for the example of the bicycle system, more particularly only a part of the graph is represented. In accordance with Figure 5, the architecture comprises a common core 50 and the six views 51, 52, 53, 54, 55, 56 previously described. The architecture of FIG. 9 specifies the blocks contained in the common core and the blocks contained in the views as well as the links between the different blocks. The blocks Ci contained in the views may be projection elements from the core 50 or additions.
Pour des raisons de simplification, on suppose que tous les composants du vélo listés dans la figure 6 sont obligatoires. Ils sont inclus dans le noyau 50. En référence la figure 6, ils sont nommés C1 , C2, ... C25, représentés par des points ou tout autre élément. On considère les roues arrière et avant comme un seul bloc C22. Dans le graphe d'analyse, on se limite à un certain niveau d'abstraction. Par exemple, on ne décrit pas les composants de la roue. Un pneu est alors représenté par le composant C22. On réalise alors l'étape 42 de construction du graphe d'analyse dont une partie est représentée à la figure 9. Certains éléments 91 , 92, 93 dans les vues sont des ajouts à ces vues qui ne sont pas reliés à d'autres éléments dans le graphe d'analyse. Le coût de chauffage 92 par exemple est nécessaire pour calculer le coût total de fabrication de chaque vélo mais n'impacte aucune autre vue 51 , 52, 53, 55, 56 du vélo. For the sake of simplicity, it is assumed that all bicycle components listed in Figure 6 are mandatory. They are included in the core 50. Referring to Figure 6, they are named C1, C2, ... C25, represented by dots or any other element. The rear and front wheels are considered as a single block C22. In the analysis graph, we limit ourselves to a certain level of abstraction. For example, the components of the wheel are not described. A tire is then represented by the component C22. Step 42 is then made to construct the analysis graph, part of which is shown in FIG. 9. Certain elements 91, 92, 93 in the views are additions to these views that are not connected to other elements. in the analysis graph. The heating cost 92 for example is necessary to calculate the total cost of manufacture of each bike but does not impact any other view 51, 52, 53, 55, 56 of the bicycle.
Les éléments de la vue statique 51 ne sont pas reliés non plus dans le graphe d'analyse car on suppose que ces composants sont obligatoires. Par exemple si on change le matériau du guidon, le guidon est toujours présent et la vue n'est pas impactée au niveau d'abstraction considéré. A l'inverse, chaque composant Ci est lié à son poids Ci et à son coût Ci. Sur la figure 9, où le graphe est représenté partiellement, les liens entre le composant C1 et le coût C1 dans la vue coût 54 et le poids C1 dans la vue performance 56 sont représentés. Il en est de même pour le composant C2. Le composant signalisation C24 est lié au composant correspondant C24 dans les vues sécurité 55, coût 54 et design 52 car l'éclairage est important pour le design et la sécurité en tenant compte des coûts. Par contre il n'impacte pas la maintenabilité et les performances. A l'inverse, les pneus C22 impactent toutes les vues sauf la vue design 52 et statique 51 étant donné le niveau d'abstraction considéré. Le composant pneus C22 est donc reliés aux composants correspondants dans les vues sauf les vues design 52 et statique 51 . Pour un niveau d'abstraction différent, ces vues 51 , 52 pourraient être impactées. D'autres liens que ceux illustrés par la figure 9 complètent le graphe mais ne sont pas représentés pour des raisons de simplification. The elements of the static view 51 are not connected either in the analysis graph because it is assumed that these components are mandatory. For example if we change the material of the handlebar, the handlebar is always present and the view is not impacted at the level of abstraction considered. Conversely, each component Ci is linked to its weight Ci and its cost Ci. In FIG. 9, where the graph is partially represented, the links between the component C1 and the cost C1 in the cost view 54 and the weight C1 in the performance view 56 are shown. It is the same for the component C2. The component C24 signaling is linked to the corresponding component C24 in the safety 55, cost 54 and design 52 views as lighting is important for design and safety, taking into account costs. However, it does not impact the maintainability and performance. Conversely, the C22 tires impact all views except the design 52 and static 51 view given the level of abstraction considered. The tire component C22 is therefore connected to the corresponding components in the views except the 52 and static 51 design views. For a different level of abstraction, these views 51, 52 could be impacted. Links other than those illustrated in FIG. 9 complete the graph but are not shown for reasons of simplification.
Une fois l'étape de construction du graphe réalisée, on exécute l'étape 43 de lancement du programme d'analyse suivi de l'analyse de résultats 44, de manière itérative. Ainsi, pour une architecture donnée du système vélo, on commence par faire une analyse de toutes les vues. A titre d'exemple, les itérations successives sont les suivantes : Once the step of constructing the graph is performed, it executes the step 43 of launching the analysis program followed by the analysis of results 44, iteratively. Thus, for a given architecture of the bicycle system, one starts by doing an analysis of all the views. By way of example, the successive iterations are as follows:
Itération 1 : Iteration 1:
- résultat d'analyse du design : trois designs sont proposés avec chacun une note, cette analyse peut ne pas être répétée à chaque itération, les analyse suivantes se font sur la base de ces trois designs ; - result of design analysis: three designs are offered with each a note, this analysis may not be repeated at each iteration, the following analyzes are made on the basis of these three designs;
- résultat de l'analyse de maintenabilité : la note F est donnée pour les pneus, la note E pour les patins de frein, la note D pour le dérailleur arrière et la note C pour le dérailleur avant, cette analyse montre que les pneus sont mal notés et qu'il faut donc les améliorer ; - result of the maintainability analysis: the F rating is given for the tires, the E rating for the brake pads, the D rating for the rear derailleur and the C rating for the front derailleur, this analysis shows that the tires are poorly rated and therefore need to be improved;
- résultat de l'analyse des coûts : le coût moyen du vélo est 60 euros, ce qui est élevé par rapport à un objectif de 50 euros ; - result of the cost analysis: the average cost of the bike is 60 euros, which is high compared to a target of 50 euros;
- résultat de l'analyse de sécurité : le résultat est non conforme car l'architecture n'a pas intégré une sonnette, avertisseur sonore, dans le vélo ; - résultat de l'analyse de performance : l'analyse de performance peut demander une simulation complexe qui nécessite plusieurs heures de calcul, les résultats révèlent par exemple un indice de frottement sur la route égal à 0,6 qui est très élevé par rapport à l'objectif de 0,5 ; - result of the safety analysis: the result is non-compliant because the architecture has not integrated a bell, buzzer, into the bike; - result of the performance analysis: the performance analysis may require a complex simulation that requires several hours of calculation, the results reveal for example a friction index on the road equal to 0.6 which is very high compared to the goal of 0.5;
Itération 2 Iteration 2
On commence par ajouter la sonnette, puis on relance l'analyse de la sécurité. Le résultat est alors « conforme ». Cependant, le graphe montre que la sonnette impacte le coût, comme le montre la figure 10 qui présente une autre vue partielle du graphe. Le composant signalisation 24 qui incluse la sonnette est en effet relié au composant C24 de la vue de sécurité 55 et au composant C24 de la vue de coût 54. We start by adding the bell, then we restart the security analysis. The result is then "compliant". However, the graph shows that the bell impacts the cost, as shown in Figure 10 which shows another partial view of the graph. The signaling component 24 which includes the bell is in fact connected to the component C24 of the security view 55 and to the component C24 of the cost view 54.
Dans cette itération 2, l'analyse de coût est ensuite relancée et le résultat montre que le coût augmente passant à 62 euros. Itération 3 In this iteration 2, the cost analysis is then restarted and the result shows that the cost increases to 62 euros. Iteration 3
A l'initialisation de cette itération, les résultats d'analyse de maintenabilité, de coûts et de performance sont mauvais. On choisit par exemple d'améliorer d'abord les performances du système vélo. On change par exemple les pneus pour atteindre un coefficient de frottement de 0,45 qui est bon car inférieur à 0,5. La vue partielle du graphe présentée en figure 9 montre qu'il faut refaire une analyse de sécurité, de coût et de maintenabilité. En effet, le composant pneus C22 est relié aux composants correspondant C22 dans la vue sécurité 55, dans la vue coût 54 et dans la vue maintenabilité 53. Le résultat de sécurité devient alors « non conforme » car le pneu n'adhère plus suffisamment au sol et le temps de freinage devient trop lent. Les résultats d'analyse de maintenabilité et de coûts restent mauvais. At the initialization of this iteration, the results of maintainability analysis, costs and performance are bad. For example, we first choose to improve the performance of the bike system. For example, the tires are changed to reach a coefficient of friction of 0.45 which is good because less than 0.5. The partial view of the graph presented in FIG. 9 shows that a security, cost and maintainability analysis must be repeated. Indeed, the tire component C22 is connected to the corresponding components C22 in the safety view 55, in the cost view 54 and in the maintainability view 53. The safety result then becomes "non-compliant" because the tire no longer adheres sufficiently to the ground and the braking time becomes too slow. Maintainability and cost analysis results remain poor.
Itérations 4, ...i, ... n-1 Iterations 4, ... i, ... n-1
On choisit un résultat d'analyse qui n'est pas bon, par exemple l'analyse de sécurité, et on effectue des modifications d'architecture afin d'améliorer ce résultat. Avantageusement, l'invention permet d'utiliser le graphe d'analyse pour relancer les analyses nécessaires. Il est à noter que l'utilisation du graphe d'analyse évite de recommencer l'ensemble des analyses lors des différentes itérations, l'analyse étant effectuée seulement sur les vues impactées. Une itération est relancée jusqu'à ce que l'on parvienne à trouver une solution satisfaisante pour toutes les vues. Itération n One chooses a result of analysis which is not good, for example the security analysis, and one carries out modifications of architecture in order to improve this result. Advantageously, the invention makes it possible to use the analysis graph to restart the necessary analyzes. It should be noted that the use of analysis graph avoids to repeat all the analyzes during the different iterations, the analysis being carried out only on the impacted views. An iteration is restarted until we find a satisfactory solution for all views. Iteration n
A l'issue d'un nombre n d'itérations, si on ne parvient pas à trouver une solution satisfaisante à toutes les vues. Une architecture choisie peut être celle qui apporte le plus de compromis. At the end of a number of iterations, if we can not find a satisfactory solution to all the views. A chosen architecture can be the one that brings the most compromise.
Le graphe peut être construit sans itération, en reliant par exemple chaque élément 22 d'une vue 2 à au plus un élément 20 du noyau commun 1 . The graph can be constructed without iteration, for example by connecting each element 22 of a view 2 to at most one element 20 of the common core 1.
La mise en œuvre du procédé selon l'invention a été illustrée pour la conception d'un vélo, c'est-à-dire pour un système matériel de faible complexité. L'invention s'applique également pour des systèmes beaucoup plus complexe qu'ils soient matériels ou logiciels. Avantageusement l'invention permet d'améliorer la conception d'un système. Le mécanisme de propagation des modifications dans des modèles de vue à d'autres modèles d'autres vues et l'évaluation de l'impact des modifications permettent d'obtenir des architectures cohérentes. The implementation of the method according to the invention has been illustrated for the design of a bicycle, that is to say for a hardware system of low complexity. The invention also applies to systems that are much more complex whether they are hardware or software. Advantageously, the invention makes it possible to improve the design of a system. The mechanism of propagating changes in view models to other models of other views and evaluating the impact of changes provides consistent architectures.
L'invention permet par ailleurs qu'à la suite d'une modification dans le modèle d'une vue, seulement les parties impactées dans d'autres vues sont ré-analysés. En conséquence, il n'est pas nécessaire de relancer une analyse complète. Ceci permet de gagner du temps très significatif dans l'exploration et l'analyse d'architectures, ce qui facilite la capacité de faire des bons choix de conception au plus tôt et aide à maîtriser la complexité à un coût acceptable. The invention further allows that following a modification in the model of a view, only the parts impacted in other views are re-analyzed. As a result, it is not necessary to relaunch a complete analysis. This saves significant time in the exploration and analysis of architectures, which facilitates the ability to make good design choices early and helps to control complexity at an acceptable cost.

Claims

REVENDICATIONS
1 . Procédé d'aide à la conception d'un système apte à être modélisé par une architecture multi-vue, ledit procédé étant mis en œuvre par ordinateur, ladite architecture comportant un noyau commun (1 , 50) et un nombre N de vues (2, 51 , 52, 53, 54, 55, 56), le noyau commun comportant un ensemble d'éléments (20), chaque élément représentant un composant du système, une vue comportant des éléments (22), chacun desdits éléments étant une projection d'un élément du noyau commun selon un point de vue d'une partie prenante, ledit procédé étant caractérisé en ce que : 1. A method of assisting the design of a system capable of being modeled by a multi-view architecture, said method being implemented by computer, said architecture comprising a common core (1, 50) and a number N of views (2 , 51, 52, 53, 54, 55, 56), the common core comprising a set of elements (20), each element representing a component of the system, a view comprising elements (22), each of said elements being a projection a common core element according to a point of view of a stakeholder, said method being characterized in that:
dans une première étape (41 ), le système pour obtenir le noyau commun et les N vues est modélisé ;  in a first step (41), the system for obtaining the common core and the N views is modeled;
dans une deuxième étape (42), un graphe ayant comme sommets les éléments du noyau commun (20) et les éléments des vues (22) est construit de telle sorte que chaque arête de ce graphe relie un élément d'une vue (22) à l'élément du noyau (20) si et seulement si l'élément de la vue est une projection de l'élément du noyau ;  in a second step (42), a graph having as vertices the elements of the common core (20) and the elements of the views (22) is constructed such that each edge of this graph connects an element of a view (22) to the element of the nucleus (20) if and only if the element of the view is a projection of the element of the nucleus;
dans une troisième étape (43), des programmes d'analyse correspondant chacun à une vue (2) sont établis, le résultat d'un programme d'analyse étant destiné à être comparé à un critère donné propre à sa vue, puis l'exécution de ces programmes d'analyse est lancée ;  in a third step (43), analysis programs each corresponding to a view (2) are established, the result of an analysis program being intended to be compared to a given criterion specific to its view, then the execution of these programs of analysis is launched;
- dans une quatrième étape (44), les résultats desdits programmes d'analyse sont comparés (40) par rapport aux critères donnés, si au moins une vue a un résultat, dit négatif, ne répondant pas à un critère donné :  in a fourth step (44), the results of said analysis programs are compared (40) with respect to the given criteria, if at least one view has a result, called negative, that does not meet a given criterion:
- l'architecture est modifiée (47) en modifiant au moins un élément de ladite vue (2) ;  the architecture is modified (47) by modifying at least one element of said view (2);
tous les éléments impactés par cette modification dans les autres vues sont trouvés en détectant toutes les chaînes du graphe ayant ledit élément comme extrémité, un élément impacté étant une autre extrémité d'une chaîne ainsi détectée ;  all the elements impacted by this change in the other views are found by detecting all the strings of the graph having said element as the end, an impacted element being another end of a thus detected string;
les programmes d'analyse des vues ayant un élément impacté sont relancés (48) ; la quatrième étape (44) étant réitérée aussi longtemps qu'un programme d'analyse produit un résultat négatif ou qu'un nombre d'itérations donné n'est pas atteint. the view analysis programs having an impacted element are restarted (48); the fourth step (44) being repeated as long as an analysis program produces a negative result or a given number of iterations is not achieved.
2. Procédé selon la revendication 1 , caractérisé en ce que l'architecture est choisie d'une manière automatique par l'ordinateur lorsque tous les résultats obtenus ne sont plus négatifs. 2. Method according to claim 1, characterized in that the architecture is chosen automatically by the computer when all the results obtained are no longer negative.
3. Procédé selon la revendication 1 , caractérisé en ce que lorsque le nombre d'itérations donné est atteint avec au moins un résultat négatif, les résultats d'analyse sont présentés à un opérateur. 3. Method according to claim 1, characterized in that when the given number of iterations is reached with at least one negative result, the analysis results are presented to an operator.
4. Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce que le graphe reliant les éléments de ladite architecture est construit afin de réduire le coût d'analyse à chache modification architecturale 4. Method according to any one of the preceding claims, characterized in that the graph connecting the elements of said architecture is constructed in order to reduce the cost of architectural change analysis.
5. Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce que le graphe reliant les éléments de ladite architecture est mis à jour à chaque modification de ladite architecture. 5. Method according to any one of the preceding claims, characterized in that the graph connecting the elements of said architecture is updated at each modification of said architecture.
6. Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce qu'une vue comporte des éléments (4, 51 , 91 , 92, 93) non reliés au graphe. 6. Method according to any one of the preceding claims, characterized in that a view comprises elements (4, 51, 91, 92, 93) not connected to the graph.
7. Procédé selon la revendication 6, caractérisé en ce que lesdits éléments sont des ajouts (4, 91 , 92, 93) propres à ladite vue. 7. The method of claim 6, characterized in that said elements are additions (4, 91, 92, 93) specific to said view.
8. Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce que le graphe est construit sans itération en reliant chaque élément (22) d'une vue (2) à au plus un élément (20) du noyau commun (1 ). 8. Method according to any one of the preceding claims, characterized in that the graph is constructed without iteration by connecting each element (22) of a view (2) to at most one element (20) of the common core (1) .
9. Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce le graphe est construit pour n'avoir que des chaînes de longueur égale à 1 ou des chaînes de longueur égale à 2. 9. Method according to any one of the preceding claims, characterized in that the graph is constructed to have only chains of length equal to 1 or chains of length equal to 2.
10. Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce que dans la quatrième étape (44) on modifie l'architecture en modifiant au moins un élément de la vue ayant le résultat estimé comme10. Method according to any one of the preceding claims, characterized in that in the fourth step (44) the architecture is modified by modifying at least one element of the view having the result estimated as
5 le plus négatif. 5 the most negative.
1 1 . Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce qu'une vue est représentée par une liste de blocs (60) composants le système. 1 1. A method as claimed in any one of the preceding claims, characterized in that a view is represented by a list of blocks (60) composing the system.
o o
12. Dispositif d'aide à la conception d'un système apte à être modélisé par une architecture multi-vues, caractérisé en ce qu'il met en œuvre le procédé selon l'une quelconque des revendications précédentes. 5  12. Device for assisting the design of a system capable of being modeled by a multi-view architecture, characterized in that it implements the method according to any one of the preceding claims. 5
PCT/EP2013/072441 2012-11-05 2013-10-25 Method of aiding the design of a system modelled by a multi-view architecture, and device implementing such a method WO2014067878A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1260474A FR2997777B1 (en) 2012-11-05 2012-11-05 METHOD FOR DESIGNING A SYSTEM MODELED BY A MULTI-VIEW ARCHITECTURE
FR1260474 2012-11-05

Publications (1)

Publication Number Publication Date
WO2014067878A1 true WO2014067878A1 (en) 2014-05-08

Family

ID=47624336

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2013/072441 WO2014067878A1 (en) 2012-11-05 2013-10-25 Method of aiding the design of a system modelled by a multi-view architecture, and device implementing such a method

Country Status (2)

Country Link
FR (1) FR2997777B1 (en)
WO (1) WO2014067878A1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001082068A1 (en) * 2000-04-21 2001-11-01 Togethersoft Corporation Methods and systems for identifying dependencies between object-oriented elements
EP2367114A1 (en) * 2010-03-18 2011-09-21 Accenture Global Services Limited Evaluating and enforcing software design quality

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001082068A1 (en) * 2000-04-21 2001-11-01 Togethersoft Corporation Methods and systems for identifying dependencies between object-oriented elements
EP2367114A1 (en) * 2010-03-18 2011-09-21 Accenture Global Services Limited Evaluating and enforcing software design quality

Also Published As

Publication number Publication date
FR2997777A1 (en) 2014-05-09
FR2997777B1 (en) 2015-12-18

Similar Documents

Publication Publication Date Title
US10635577B2 (en) Integration times in a continuous integration environment based on statistical modeling
JP7333982B2 (en) Bicycle application service platform server, method, and computer-readable recording medium based on reduced carbon emission calculation
TWI827797B (en) Component based automated identification of a configurable vehicle
CA2970551A1 (en) Method of adjusting the precision of a computer program manipulating at least one floating point number
EP2286339A1 (en) Method of automatically formulating test cases for verifying at least one part of a piece of software
US20190026091A1 (en) Cognitive expected program code installation result assessment
EP2257876B1 (en) Method for preloading configurations of a reconfigurable heterogeneous system for information processing into a memory hierarchy
US20140136176A1 (en) Identifying and routing poison tuples in a streaming application
FR2922665A1 (en) Computer aided designing method for architecture of e.g. aircraft navigation system, involves constructing architectural model of system using functional and non-functional analysis, and analyzing model by evaluating analysis rule on model
US10769866B2 (en) Generating estimates of failure risk for a vehicular component
EP2100245A1 (en) Method for selecting an optimised tyre configuration for a road vehicle such as a racing car or motorcycle
WO2017109386A1 (en) Off-line method for allocation of a real-time on-board software in a multi-core multi-controller architecture, and use thereof for on-board applications in a motor vehicle
WO2014067878A1 (en) Method of aiding the design of a system modelled by a multi-view architecture, and device implementing such a method
FR2958427A1 (en) METHOD FOR ARRANGING AN APPLICATION SOFTWARE ON COMPUTER EQUIPMENT OF REAL OR VIRTUAL EQUIPMENT AND ARCHITECTURE FOR CONTROLLING EQUIPMENT COMPRISING SUCH SOFTWARE
Mezei et al. The bicycle challenge in DMLA, where validation means correct modeling.
FR2910431A1 (en) Motor vehicle e.g. automobile, designing method, involves integrating connections existing between parts in model, where integration of connections are directly executed between parts and are not executed between mobilizations of parts
WO2011055085A2 (en) Method and tool for simulating the aerodynamic behaviour of an aerodynamic element of an aircraft having a variable sweep angle
EP2956874A2 (en) Device and method for accelerating the update phase of a simulation kernel
US20220161890A1 (en) Motor controller for electric bicycles
EP4242921A1 (en) Method, computer program and device for driving a convolutive neural network with dynamic architecture for semantic image segmentation
FR2973131A1 (en) METHOD AND DEVICE FOR DETECTING INCOMPATIBILITIES OF LOGIC INTERFACES OF ONBOARD SYSTEM EQUIPMENT
Poudel et al. Production of risks and local risk governance in Kathmandu valley
JP2020138700A (en) Estimation device, control system, learning model, learning model creating method, computer program, and storage medium
WO2020030727A1 (en) Method for simulating a flow in which a structure is submerged
EP3908926A1 (en) Method for validating a data flow system

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 13783346

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 13783346

Country of ref document: EP

Kind code of ref document: A1