WO2024146742A1 - Computerimplementiertes verfahren zum darstellen eines komponentendiagramms - Google Patents
Computerimplementiertes verfahren zum darstellen eines komponentendiagramms Download PDFInfo
- Publication number
- WO2024146742A1 WO2024146742A1 PCT/EP2023/084914 EP2023084914W WO2024146742A1 WO 2024146742 A1 WO2024146742 A1 WO 2024146742A1 EP 2023084914 W EP2023084914 W EP 2023084914W WO 2024146742 A1 WO2024146742 A1 WO 2024146742A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- icon
- group
- component
- computer
- icons
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 58
- 238000010586 diagram Methods 0.000 title claims abstract description 35
- 230000008859 change Effects 0.000 claims abstract description 26
- 239000013598 vector Substances 0.000 claims description 71
- 238000000926 separation method Methods 0.000 claims description 50
- 230000000694 effects Effects 0.000 claims description 3
- 238000009432 framing Methods 0.000 claims description 3
- 238000011161 development Methods 0.000 description 9
- 230000018109 developmental process Effects 0.000 description 9
- 230000008569 process Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 239000007788 liquid Substances 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 238000001816 cooling Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000012447 hatching Effects 0.000 description 1
- 230000017525 heat dissipation Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000035699 permeability Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/10—Requirements analysis; Specification techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F3/04815—Interaction with a metaphor-based environment or interaction object displayed as three-dimensional, e.g. changing the user viewpoint with respect to the environment or object
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F3/04817—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance using icons
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/20—Drawing from basic elements, e.g. lines or circles
- G06T11/206—Drawing of charts or graphs
Definitions
- the invention relates to a computer-implemented method for displaying a component diagram of components of a system, wherein at least some of the components are each assigned a group membership to a component group or to several component groups of a number of component groups.
- Such a method is relevant for all products that have to display architectures, such as the applicant's software products SystemDesk and ConfigDesk, but also for other software tools that are used, for example, to plan and visualize automotive test benches or their configurations.
- These technical areas usually also involve the representation of complex architectures with many components that are similar in terms of the number and strength of their connections.
- subsets of the diagram are of particular interest to the user for a specific task, e.g. hierarchical structures such as subsystems or components that are relevant to the part of a hypothesis about the runtime behavior of the overall system. These subsets can overlap and do not necessarily have to be rigid.
- new components can be included or previously used components can be excluded. It is very difficult for the user to capture these groupings efficiently, since the components, in the case of similar properties in terms of their interaction with other components, e.g. with regard to the parameters, are often not grouped together. ter "port count” and "connections" do not have easily identifiable common characteristics. Thus, working in these large component diagrams is tedious and time-consuming. Furthermore, there is no way to interact with these subsets as a whole. However, the layout of a diagram cannot be easily adjusted without destroying existing subsets.
- the user has had two main options for dealing with this problem.
- the first option is to search for components and sort them into disjoint subsets by hand, which is referred to here as manual clustering. In this way, the user can add and remove components from the subsets as desired, but it is very time-consuming.
- the second option is to generate a second component diagram. This can be done either using a filter or using a completely separate diagram file.
- a filter is a quick and powerful tool for creating subsets that can be distinguished using a specific feature. However, if components are difficult to group by name or if several subsets are to be filtered, the user must create complex filter criteria, which is prone to errors.
- a corresponding filter condition must be created for each one, which can lead to very long filter expressions.
- the filter does not automatically change the layout of the diagram. Components of a subset may be far apart from each other, which may require the creation of a completely new layout.
- a display device comprising a computing unit for executing visualization software, wherein the visualization software is set up to display a first interface block and a second interface block in a display area of the display device in order to process description data of the first interface.
- the position block and the second interface block and to display the first interface block, having a first port, and the second interface block, having a second port, on the display area taking into account the description data, in order to determine, in the course of processing the description data, the existence or non-existence of a first information flow between the first port of the first interface block and the second port of the second interface block and, in the event of the existence of the first information flow, to automatically display a first connecting line from the first port to the second port, the first connecting line comprising a first Bezier curve, and in the event of a first change in position of the first interface block relative to the second interface block such that a first position of the first port is changed in relation to a second position of the second port, to track the first Bezier curve depending on the extent of the first change in position.
- the object of the invention is to provide a method for displaying a component diagram of components of a system, which is easy to use for a user and efficiently uses the computer resources provided for this purpose.
- a computer-implemented method for displaying a component diagram of components of a system wherein at least some of the components are each assigned a group membership to one or more component groups of a number of component groups, with the following method steps:
- Displaying an icon for each component on a graphical display device automatically moving icons such that icons of components that have the same group membership in a component group are displayed adjacent to one another in a common icon group, automatic graphical identification of icons that belong to a common icon group, automatic receipt of a change instruction regarding the membership of a component in a component group, automatic changing of the membership of the component in a component group in accordance with the received change instruction and automatic moving of the icon of the component for which the change instruction has been received in such a way that this icon is displayed in the icon group or groups to which it now belongs.
- the automatic shifting of the icon of the component for which the change instruction has been received can be carried out in different ways.
- the automatic shifting of the icon of the component for which the change instruction has been received is carried out by a first separation vector acting on this icon, which moves the icon and thus pushes it out of an icon group to which it does not belong.
- the first separation vector can be determined in different ways. However, according to a preferred embodiment of the invention, the first separation vector is determined as follows:
- the invention relates to a display device which is designed to carry out a method described above.
- Fig. 3 schematically shows a component diagram obtained with a method according to a preferred embodiment of the invention
- Fig. 4 schematically shows the assignment of the icon of an icon group to a new icon group
- the first separation vector is determined with the proviso that it may only point vertically up or down or horizontally to the right or left. This allows the icon to be quickly removed from the icon group to which it does not belong, as unnecessary movements in different directions are avoided.
- the icon keeps the first separation vector even if it has been pushed out of the icon group. In this way, it moves continues through the component diagram and can ultimately find the group to which it belongs.
- this provides that the icon receives a second separation vector that acts on the icon and moves the icon when it enters another icon group to which it does not belong, whereby the second separation vector is determined by determining a direction vector from the relative position of the icon to the side edge of the other icon group that is the shortest distance from the icon, and by multiplying the direction vector by a predefined second scalar to obtain the second separation vector.
- the second scalar is provided with a default value, which can, however, be changed by the user in order to adapt the movement speed of the icon to his needs.
- a third separation vector is determined that acts on the icon perpendicular to its previous movement and moves it. This ensures that the icon can continue to move through the component diagram and ultimately find its way to the group to which it belongs.
- the third separation vector is determined by first determining a direction vector from the relative position of the icon to the side edge of the icon group that has the shortest distance to the icon perpendicular to the icon's previous movement, and then multiplying the direction vector by a predefined third scalar to obtain the third separation vector.
- the third scalar also has a preset default value that can be changed by the user to adapt the speed of the icon to their needs.
- icon groups are used to connect hypotheses and associated events using a component diagram.
- a hypothesis makes a statement about the temporal or logical connection between several events, which in turn define an expected behavior of certain components.
- a group is created that contains all the components of the hypothesis, and a Group for each event, each containing the components of the specific event.
- An event group can always be activated, which is then displayed as a subgroup of the hypothesis group. This is shown as an example in Fig. 6. When it comes to identifying components that are part of a hypothesis, this is made significantly easier if the method described here can be used instead of a manual search.
- a classic procedural generation usually uses a noise function, which uses a pseudorandom number generator and other parameters to create a procedurally generated data set that corresponds to the framework conditions set by the variables during generation.
- this state is static. If the user changes something in the data, such as the membership of an icon in an icon group, the data set no longer corresponds to the framework conditions.
- Every house in a city can be represented as a component, whereby each house is part of a district, which can be represented as an icon group.
- Some buildings can also have a function for several districts, for example bridges or substations. This Buildings thus become part of several icon groups.
- the process described here separates the buildings into their districts, and through user interaction, the distribution of the buildings within the districts and therefore also their dimensions and the distribution of the districts themselves is randomized. Furthermore, the user is able to manually adjust the distribution of the buildings, for example in the case of an unfortunate distribution of substations, whereby the process actively ensures that the boundaries between the districts are still maintained.
- Another possible application example of the present method is the creation of a layout design of an electronic circuit arrangement, for example an electronic circuit board that is intended to be equipped with electronic components.
- the electronic components concerned are preferably connected to one another with the shortest possible conductor tracks and are assigned to one and the same first icon group, for example by means of their icons.
- Other electronic components that emit a comparatively large amount of heat during use are assigned to a second icon group, for example, which is located in the spatial vicinity of a fan that is responsible for the convection cooling of the electronic components.
- the components each have parameters that qualify them for the first group and/or the second group.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
Die Erfindung betrifft ein computerimplementiertes Verfahren zum Darstellen eines Komponentendiagramms von Komponenten eines Systems, wobei wenigstens einem Teil der Komponenten jeweils eine Gruppenzugehörigkeit zu einer Komponentengruppe oder mehreren Komponentengruppen einer Komponentengruppenanzahl zugeordnet ist, mit folgenden Verfahrensschritten: S1) Darstellen eines Icons für jede Komponente auf einer grafischen Wiedergabevorrichtung, S2) automatisches Verschieben von Icons derart, dass Icons von Komponenten, die dieselbe Gruppenzugehörigkeit zu einer Komponentengruppe aufweisen, benachbart zueinander in einer gemeinsamen Icon-Gruppe dargestellt werden, S3) automatisches grafisches Kennzeichnen von Icons, die einer gemeinsamen Icon-Gruppe angehören, S4) automatisches Empfangen einer Änderungsanweisung hinsichtlich der Zugehörigkeit einer Komponente zu einer Komponentengruppe, S5) automatisches Ändern der Zugehörigkeit der Komponente zu einer Komponentengruppe entsprechend der empfangenen Änderungsanweisung und S6) automatisches Verschieben des Icons der Komponente, zu der die Änderungsanweisung empfangen worden ist, derart, dass dieses Icon in der Icon-Gruppe bzw. in den Icon-Gruppen dargestellt wird, zu der bzw. zu denen es nun gehört. Auf diese Weise wird ein Verfahren zum Darstellen eines Komponentendiagramms von Komponenten eines Systems bereitgestellt, das für einen Nutzer gut nutzbar ist und dazu bereitgestellte Computer-Ressourcen effizient nutzt.
Description
Computerimplementiertes Verfahren zum Darstellen eines Komponentendiagramms
Die Erfindung betrifft ein computerimplementiertes Verfahren zum Darstellen eines Komponentendiagramms von Komponenten eines Systems, wobei wenigstens einem Teil der Komponenten jeweils eine Gruppenzugehörigkeit zu einer Komponentengruppe oder zu mehreren Komponentengruppen einer Komponentengruppenanzahl zugeordnet ist.
Ein solches Verfahren ist relevant für alle Produkte, die Architekturen anzeigen müssen, wie für die Software-Produkte SystemDesk und ConfigDesk der Anmelderin, aber auch für sonstige Software-Werkzeuge, die dazu dienen z. B. Auto- motive-Prüfstände bzw. deren Konfigurationen zu planen und zu visualisieren. In diesen technischen Bereichen geht es in der Regel auch um die Darstellung komplexer Architekturen mit vielen in Bezug auf die Anzahl und Stärke ihrer Verbindungen ähnlich gearteten Komponenten. Typischerweise sind damit auch komplexe Komponentendiagrammen verbunden, in denen sich ein Nutzer ohne Weiteres nur schwer zurechtfinden kann. Entsprechend nehmen die durch die Erfindung erzielten vorteilhaften Wirkungen, auf die im weiteren Text eingegangen wird, weiter zu, je größer die Komplexität eines Komponentendiagramms ist, beispielsweise je größer die Anzahl der Komponentengruppen, also je größer die Komponentengruppenanzahl ist.
Häufig sind für den Nutzer für eine bestimmte Aufgabe Teilmengen des Diagramms von besonderem Interesse, z. B. hierarchische Strukturen, wie Subsysteme oder Komponenten, die für den Teil einer Hypothese über das Laufzeitverhalten des Gesamtsystems relevant sind. Diese Teilmengen können sich überlappen und müssen nicht zwingend starr sein. So können bei der Entwicklung einer Hypothese über das Laufzeitverhalten des Systems auch neue Komponenten miteinbezogen oder bisher verwendete Komponenten ausgeschlossen werden. Für den Nutzer ist es sehr schwierig, diese Gruppierungen effizient zu erfassen, da die Komponenten im Falle von ähnlichen Eigenschaften in Bezug auf ihre Interaktion mit anderen Komponenten, z. B. im Hinblick auf die Parame-
ter „Port-Anzahl“ und „Verbindungen“ keine leicht identifizierbaren, gemeinsamen Merkmale aufweisen. Somit ist das Arbeiten in diesen großen Komponentendiagrammen anstrengend und zeitaufwändig. Weiterhin besteht keine Möglichkeit, mit diesen Teilmengen als Ganzes zu interagieren. Dabei kann allerdings das Layout eines Diagramms nicht auf einfache Weise angepasst werden, ohne bestehende Teilmengen zu zerstören.
Der Nutzer hatte bisher im Wesentlichen zwei Möglichkeiten, mit diesem Problem umzugehen. Die erste Möglichkeit ist das Suchen von Komponenten und Sortieren von Hand in disjunkte Teilmengen, was vorliegend als manuelles Clustern bezeichnet wird. Auf diese Weise kann der Nutzer zwar beliebig Komponenten in die Teilmengen hinzufügen und entfernen, aber der Zeitaufwand ist sehr hoch. Die zweite Möglichkeit besteht darin, ein zweites Komponentendiagramm zu generieren. Das kann entweder durch einen Filter geschehen oder durch ein komplett separate Diagrammdatei. Ein Filter ist ein schnelles und mächtiges Werkzeug, um Teilmengen zu erzeugen, die mittels eines konkreten Merkmals unterschieden werden können. Sind Komponenten nur schwer durch Namen zu gruppieren oder sollen gar mehrere Teilmengen gefiltert werden, muss der Nutzer jedoch komplexe Filterkriterien erstellen, was fehleranfällig ist. Will der Nutzer beispielsweise bestimmte Komponenten von dem Filter ausschließen, so muss jeweils eine entsprechende Filterbedingung erzeugt werden, was zu sehr langen Filterausdrücken führen kann. Weiterhin ändert der Filter nicht automatisch das Layout des Diagramms. Komponenten einer Teilmenge liegen so möglicherweise weit voneinander entfernt, wodurch die Erstellung eines komplett neuen Layouts erforderlich werden kann. Das Erstellen einer komplett neuen Diagrammdatei bietet zwar volle Freiheit, ein interaktives Anpassen ist aber nicht möglich und ist daher mindestens so aufwändig, wie die erste Methode des manuellen Clusterns.
Aus der WO 2022/017786 A1 ist ein Anzeigegerät bekannt, umfassend eine Recheneinheit zur Ausführung einer Visualisierungssoftware, wobei die Visualisierungssoftware dazu eingerichtet ist, um in einem Darstellungsbereich des Anzeigegerätes einen ersten Schnittstellenblock und einen zweiten Schnittstellenblock anzuzeigen, um eine Verarbeitung von Beschreibungsdaten des ersten Schnitt-
Stellenblocks und des zweiten Schnittstellenblocks vorzunehmen, und um den ersten Schnittstellenblock, aufweisend einen ersten Port, und den zweiten Schnittstellenblock, aufweisend einen zweiten Port, auf dem Darstellungsbereich unter Berücksichtigung der Beschreibungsdaten darzustellen, um im Zuge der Verarbeitung der Beschreibungsdaten eine Existenz oder eine Nicht- Existenz eines ersten Informationsflusses zwischen dem ersten Port des ersten Schnittstellenblocks und dem zweiten Port des zweiten Schnittstellenblocks festzustellen und um automatisch im Falle der Existenz des ersten Informationsflusses eine erste Verbindungslinie von dem ersten Port zu dem zweiten Port anzuzeigen, wobei die erste Verbindungslinie eine erste Bezier-Kurve umfasst, und im Falle einer ersten Positionsänderung des ersten Schnittstellenblocks gegenüber dem zweiten Schnittstellenblock derart, dass eine erste Position des ersten Ports bezogen auf eine zweite Position des zweiten Ports geändert wird, die erste Bezier- Kurve abhängig vom Maß der ersten Positionsänderung nachzuführen.
Davon ausgehend ist es die Aufgabe der Erfindung, ein Verfahren zum Darstellen eines Komponentendiagramms von Komponenten eines Systems bereitzustellen, das für einen Nutzer gut nutzbar ist und dazu bereitgestellte Computer- Ressourcen effizient nutzt.
Diese Aufgabe wird durch den Gegenstand des Patentanspruchs 1 gelöst. Bevorzugte Weiterbildungen finden sich in den abhängigen Ansprüchen.
Erfindungsgemäß wird somit ein computerimplementiertes Verfahren zum Darstellen eines Komponentendiagramms von Komponenten eines Systems bereitgestellt, wobei wenigstens einem Teil der Komponenten jeweils eine Gruppenzugehörigkeit zu einer oder mehreren Komponentengruppen einer Komponentengruppenanzahl zugeordnet ist, mit folgenden Verfahrensschritten:
Darstellen eines Icons für jede Komponente auf einer grafischen Wiedergabevorrichtung, automatisches Verschieben von Icons derart, dass Icons von Komponenten, die dieselbe Gruppenzugehörigkeit zu einer Komponentengruppe auf-
weisen, benachbart zueinander in einer gemeinsamen Icon-Gruppe dargestellt werden, automatisches grafisches Kennzeichnen von Icons, die einer gemeinsamen Icon-Gruppe angehören, automatisches Empfangen einer Änderungsanweisung hinsichtlich der Zugehörigkeit einer Komponente zu einer Komponentengruppe, automatisches Ändern der Zugehörigkeit der Komponente zu einer Komponentengruppe entsprechend der empfangenen Änderungsanweisung und automatisches Verschieben des Icons der Komponente, zu der die Änderungsanweisung empfangen worden ist, derart, dass dieses Icon in der Icon-Gruppe bzw. in den Icon-Gruppen dargestellt wird, zu der bzw. zu denen es nun gehört.
Die Erfindung erfordert dabei nicht, dass alle Komponenten des Systems als Icons dargestellt werden. Das System kann also Komponenten aufweisen, die nicht als Icon oder anderweitig dargestellt werden. Außerdem erfordert das erfindungsgemäße Verfahren nicht, dass zwingend alle Icon-Gruppen grafisch gekennzeichnet werden.
Die Erfindung ermöglicht damit auf einfache und effiziente Weise das Darstellen von überlappenden oder hierarchischen Teilmengen, das Interagieren mit den jeweiligen Teilmengen als Ganzes, die Darstellung von Zusammenhängen mit Komponenten, die nicht in der jeweiligen Teilmenge des Diagramms vorhanden sind, und dabei das Layout nur so viel anzupassen, wie unbedingt erforderlich, um die Komponenten der Teilmengen zusammenzuführen.
Die vorliegend behandelten Komponenten sind vorzugsweise die Repräsentation eines Teils einer Computer-Software-Architekturmodells, beispielsweise ein Software-Modul oder ein Computer-Hardware-Modul. Im vorliegenden Kontext ist der Begriff der „Komponente“ aber nicht darauf beschränkt, „Teil einer Software" zu sein, wobei der Teil einer Software vorgesehen ist, mit zumindest einem weiteren Teil der Software nach den Regeln eines Komponentenmodells zu interagieren. Im Rahmen der vorliegenden Erfindung kann der Begriff der Komponente insbesondere auch einem informationsverarbeitenden Hardware-Modul
zugeordnet werden, beispielsweise einem eingebetteten Computer. Das Hardware-Modul kann in mit einem weiteren Hardware-Modul und/oder mit einem Teil einer Software nach Regeln eines korrespondierenden Komponentenmodells Zusammenwirken. Eine mögliche Ausführungsform einer Komponente kann eine Software-Komponente nach der Definition von Clemens Szyperski, „Component Software - Beyond Object-Oriented Programming“, Second Edition, 2002, ISBN 0-201-74572-0, Seite 41 , sein.
Die Icon-Gruppen sind vorzugsweise räumlich zusammengefasste Gruppen und somit durch die Icons Repräsentanzen einer Menge von Komponenten, welche diese Komponenten von anderen Komponenten separiert, die nicht Teil derselben Gruppe sind. Eine erste Icon-Gruppe kann ein Teil einer weiteren Icon- Gruppe sein und eine Icon-Gruppe kann teilweise eine Überlappung mit einer anderen Icon-Gruppe aufweisen. Somit kann eine Komponente zu mehr als einer Komponentengruppe und damit ein Icon zu mehr als einer Icon-Gruppe zugehörig sein.
Gemäß einer bevorzugten Weiterbildung der Erfindung werden Verbindungslinien zwischen solchen Icons angezeigt, deren Komponenten in dem System miteinander verknüpft sind. Vorzugsweise sind diese Verbindungslinien Bezier- Kurven.
Das grafische Kennzeichnen solcher Icons, die einer gemeinsamen Icon-Gruppe angehören, kann auf unterschiedliche Weisen erfolgen. Gemäß einer bevorzugten Weiterbildung der Erfindung erfolgt das grafische Kennzeichnen der Icons, die einer gemeinsamen Icon-Gruppe angehören, jedoch dadurch, dass die Icons von gemeinsamen sichtbaren Seitenrändern umrahmt werden. Derartige Seitenränder können z. B. von Linien gebildet werden. Es sind jedoch auch andere Strukturen möglich, um einen Seitenrand zu bilden, wie die Änderung einer Hintergrunddarstellung, wie einer Hintergrundfarbe oder einer Hintergrundschraffur. Als Seitenränder sind also alle derartigen grafischen Darstellungen geeignet, die eine Grenze zwischen Icons verschiedener Icon-Gruppen darstellen können. In diesem Zusammenhang ist es gemäß einer bevorzugten Weiterbildung der Erfindung ganz besonders bevorzugt, dass die Icons innerhalb der Seitenränder
gemeinsam mit derselben Hintergrunddarstellung hinterlegt werden. Ganz besonders bevorzugt weist eine solche Hintergrunddarstellung eine Rechteckform auf.
Das automatische Verschieben des Icons der Komponente, zu der die Änderungsanweisung empfangen worden ist, kann auf unterschiedliche Weisen erfolgen. Gemäß einer bevorzugten Weiterbildung der Erfindung ist jedoch vorgesehen, dass das automatische Verschieben des Icons der Komponente, zu der die Änderungsanweisung empfangen worden ist, dadurch erfolgt, dass auf dieses Icon ein erster Separierungsvektor einwirkt, der das Icon bewegt und es somit aus einer Icon-Gruppe, zu der es nicht gehört, herausdrängt.
In diesem Zusammenhang ist es vorzugsweise so, dass die Bewegung des Herausdrängens mit einer solchen Geschwindigkeit erfolgt, der von einem Nutzer des Verfahrens gefolgt werden kann. Das erleichtert dem Nutzer, die Änderungen in der Darstellung nachzuvollziehen. Insbesondere ist es in diesem Zusammenhang gemäß einer bevorzugten Weiterbildung der Erfindung vorgesehen, dass die Bewegung der Icons mit einer gewissen Zähigkeit erfolgt. Der Begriff „Zähigkeit“ ist vorliegend in Analogie zu der Bewegung von schwimmenden Objekten in einer zähen Flüssigkeit gewählt worden: Die Bewegungen der schwimmenden Objekte in der Flüssigkeit sind aufgrund der Zähigkeit verlangsamt, und zwar umso mehr je zäher die Flüssigkeit ist. Gemäß einer ganz besonders bevorzugten Weiterbildung der Erfindung ist die Zähigkeit, mit der die Bewegung der Icons erfolgt, einstellbar, z. B. von dem Nutzer.
Weiterhin ist gemäß einer bevorzugten Ausgestaltung der Erfindung vorgesehen, dass Icons der Icon-Gruppe, aus der ein Icon herausgedrängt wird, durch das herausgedrängte Icon aus dessen Weg verdrängt werden, vorzugsweise in eine Richtung senkrecht zur Bewegungsrichtung des herausgedrängten Icons. Es besteht also eine gewisse Abstoßung zwischen dem herausgedrängten Icon und den anderen Icons, die zu der Icon-Gruppe gehören, die aus der das Icon herausgedrängt wird. Im Übrigen liegt eine solche Abstoßung ganz besonders bevorzugt zwischen allen Icons des Komponentendiagramms vor. Vorzugsweise
kommt es also zu keinen Überlappungen zwischen den einzelnen Icons, unabhängig davon, zu welcher Icon-Gruppe sie gehören.
Grundsätzlich kann der erster Separierungsvektor in verschiedene Richtungen wirken. Gemäß einer bevorzugten Weiterbildung der Erfindung wirkt der erster Separierungsvektor jedoch in eine solche Richtung, dass das Icon auf dem kürzesten Weg aus der Icon-Gruppe herausgedrängt wird. Auf diese Weise wird ein sehr effizientes Verfahren bereitgestellt, dass in kurzer Zeit dazu führt, dass Icons aus derartigen Icon-Gruppen herausgetrennt werden, zu denen sie nicht gehören.
Der erste Separierungsvektor kann auf unterschiedliche Weisen bestimmt werden. Gemäß einer bevorzugten Ausgestaltung der Erfindung wird der erster Separierungsvektor jedoch wie folgt bestimmt:
Bestimmen eines Richtungsvektors aus der relativen Position des Icons zu dem Seitenrand der Icon-Gruppe, der die kürzeste Distanz zu dem Icon aufweist,
Multiplizieren des Richtungsvektors mit einem vordefinierten ersten Skalar, um den ersten Separierungsvektor zu erhalten.
Der erste Separierungsvektor kann z.B. eine Bewegung des Icons mit einer konstanten Geschwindigkeit oder mit einer beschleunigten Geschwindigkeit vorgeben. Dementsprechend ist der Skalar z.B. ein Geschwindigkeitsskalar bzw. ein Beschleunigungsskalar. Vorzugsweise ist der Skalar einstellbar, z. B. von dem Nutzer. Sie können für verschiedene Icon-Gruppen verschieden sein. Vorzugsweise ist eine Voreinstellung der Skalare mit Default-Wert vorgesehen. Außerdem können die Skalare durch das Überwinden von Hindernissen beeinflusst werden.
Weiterhin ist gemäß einer bevorzugten Ausgestaltung der Erfindung vorgesehen, dass der erste Separierungsvektor unter der Maßgabe bestimmt wird, dass er nur in zwei verschiedene Richtungen und jeweils entgegengesetzt dazu zeigen darf, vorzugsweise in solche Richtungen, die senkrecht aufeinander stehen. Ganz besonders bevorzugt ist vorgesehen, dass der erste Separierungsvektor
nur vertikal nach oben oder unten oder horizontal nach rechts oder links zeigen darf. Auf diese Weise werden Bewegungen nur längs linear unabhängiger Vektoren zugelassen, was das Verfahren sehr schnell und damit sehr effizient macht.
Weiterhin ist gemäß einer bevorzugten Ausgestaltung der Erfindung vorgesehen, dass das Icon den ersten Separierungsvektor behält, auch wenn es aus der Icon-Gruppe herausgedrängt worden ist. Auf diese Weise ist es insbesondere möglich, dass sich das herausgedrängte Icon weiterbewegt und auf diese Weise automatisch zu der Icon-Gruppe findet, zu der es gehört.
Eine weitere bevorzugte Ausgestaltung der Erfindung liegt darin, dass das Icon einen zweiten, auf das Icon einwirkenden und das Icon bewegenden Separierungsvektor erhält, wenn es in eine andere Icon-Gruppe eindringt, zu der es nicht gehört, wobei der zweite Separierungsvektor wie folgt bestimmt wird:
Bestimmen eines Richtungsvektors aus der relativen Position des Icons zu dem Seitenrand der anderen Icon-Gruppe, der die kürzeste Distanz zu dem Icon aufweist, und
Multiplizieren des Richtungsvektors mit einem vordefinierten zweiten Skalar, um den zweiten Separierungsvektor zu erhalten.
Auch diesbezüglich gilt, dass der zweite Separierungssektor vorzugsweise auch außerhalb der Icon-Gruppe, in der der zweite Separierungssektor dem Icon zugeordnet worden ist, von dem Icon behalten wird. In diesem Zusammenhang ist gemäß einer bevorzugten Weiterbildung der Erfindung vorgesehen, dass das Verfahren den folgenden zusätzlichen Verfahrensschritt aufweist:
Bestimmen eines dritten Separierungsvektor, falls die Addition des ersten Separierungsvektors und des zweiten Separierungsvektors die aktuelle Geschwindigkeit des Icons vermindert oder zu einem Richtungswechsel des Icons führt, wobei der dritte Separierungsvektor senkrecht zur bisherigen Bewegung des Icons auf dieses einwirkt und dieses bewegt.
Dabei wird der dritte Separierungsvektor vorzugsweise wie folgt bestimmt:
Bestimmen eines Richtungsvektors aus der relativen Position Icons zu dem Seitenrand der Icon-Gruppe, der senkrecht zur bisherigen Bewegung des Icons kürzeste Distanz zu dem Icon aufweist, und
Multiplizieren des Richtungsvektors mit einem vordefinierten dritten Skalar, um den dritten Separierungsvektor zu erhalten.
Die Zugehörigkeit eines Icons zu einer Icon-Gruppe ist vorzugsweise voreingestellt, wird durch Schnittstellen zu Sensoren oder Messgeräten oder durch Kommunikationsschnittstellen bereitgestellt oder kann von dem Nutzer in Echtzeit verändert werden, z.B. mittels eines Dropdown-Menüs bei Mausklick auf ein Icon.
Die Dimensionierung einer Icon-Gruppe erfolgt vorzugsweise basierend auf den Ausmaßen und Positionen der in ihr enthaltenen Icons. Aus den minimalen und maximalen Koordinaten aller Komponenten der Icon-Gruppe lässt sich z. B. ein kleinstmögliches Rechteck (konvexe Hülle) ableiten, welches alle Icons der Icon- Gruppe enthält. Icons, die nicht Teil der Icon-Gruppe sind, sich aber innerhalb dieser befinden, werden wie beschrieben aus dem Rechteck der Icon-Gruppe entfernt.
Durch Anwendung des erfindungsgemäßen Verfahrens reagiert das Komponentendiagramm auf die Veränderungen, die z. B. vom Nutzer durchgeführt werden, und stellt stets einen validen Zustand her, bei dem nach einer Veränderung im Diagramm und einem nachfolgenden zeitlichen Intervall wieder die vordefinierten Regeln der Anordnung der Icons und Icon-Gruppen erfüllt sind, nämlich, dass sich nur solche Icons innerhalb einer Icon-Gruppe befinden, die basierend auf der Entscheidung des Nutzers oder einer anders vorgenommenen Änderung der Gruppenparameter (z. B. durch Messungen) Teil der Icon-Gruppe sind. Das Diagramm wird so stets automatisch nach frei wählbaren Kategorien sortiert, ohne auf für die jeweilige Anwendung spezifische Sortier- und Layout-Algorithmen angewiesen zu sein.
Die Erfindung betrifft außerdem ein nichtflüchtiges, computerlesbares Speichermedium mit darauf abgespeicherten Befehlen, die bei ihrer Ausführung auf einem Prozessor ein zuvor beschriebenes Verfahren bewirken.
Außerdem betrifft die Erfindung eine Anzeigevorrichtung, die zur Durchführung eines zuvor beschriebenen Verfahrens eingerichtet ist.
Da bei dem vorliegenden Verfahren nur Vektoraddition, Vektorsubtraktion und skalare Multiplikation benötigt werden, ist es möglich, die Berechnung durch den Einsatz von dafür optimierter Rechenhardware, wie Grafikkarten, gegenüber der üblichen Berechnung mittels Hauptprozessor eines gewöhnlichen Computers erheblich zu beschleunigen. Dazu werden die Positionen und Vektoren im Speicher z. B. in Form von Texturen repräsentiert und die genannten Operationen beispielsweise mittels Grafikkarten-Shader berechnet. Dabei zeichnet sich der Grafikkarten-Shader durch die vorteilhafte Eigenschaft aus, dass er insbesondere parallelisiert und sehr effizient Vektor-Berechnungen ausführt. Mit der Erfindung ist also eine deutliche erhöhte Leistung auch bei herkömmlicher Hardware erzielbar, was das Verfahren sehr effizient macht.
Nachfolgend wird die Erfindung anhand eines bevorzugten Ausführungsbeispiels unter Bezugnahme auf die Zeichnungen weiter im Detail erläutert.
In den Zeichnungen zeigen
Fig. 1 ein Ablaufdiagramm eines Verfahrens gemäß einem bevorzugten Ausführungsbeispiel der Erfindung,
Fig. 2 schematisch ein Komponentendiagramm vor Anwendung eines erfindungsgemäßen Verfahrens,
Fig. 3 schematisch ein Komponentendiagramm, das mit einem Verfahren gemäß einem bevorzugten Ausführungsbeispiel der Erfindung erzielt worden ist,
Fig. 4 schematisch die Zuordnung des Icons einer Icon-Gruppe zu einer neuen Icon-Gruppe,
Fig. 5 schematisch ein Komponentendiagramm, das mit einem Verfahren gemäß einem bevorzugten Ausführungsbeispiel der Erfindung erzielt worden ist, wobei Icons dargestellt sind, die zu zwei verschiedenen Icon-Gruppen gehören, und
Fig. 6 schematisch ein Komponentendiagramm, das mit einem Verfahren gemäß einem bevorzugten Ausführungsbeispiel der Erfindung erzielt worden ist, wobei Icons dargestellt sind, die zu hierarchischen Icon-Gruppen gehören.
Aus Fig. 1 ist ein Ablaufdiagramm eines Verfahrens gemäß einem bevorzugten Ausführungsbeispiel der Erfindung ersichtlich. Dabei handelt es sich um ein computerimplementiertes Verfahren zum Darstellen eines Komponentendiagramms von Komponenten eines Systems, wobei wenigstens einem Teil der Komponenten jeweils eine Gruppenzugehörigkeit zu einer Komponentengruppe oder mehreren Komponentengruppen einer Komponentengruppenanzahl zugeordnet ist, mit folgenden Verfahrensschritten:
51 ) Darstellen eines Icons für jede Komponente auf einer grafischen Wiedergabevorrichtung,
52) automatisches Verschieben von Icons derart, dass Icons von Komponenten, die dieselbe Gruppenzugehörigkeit zu einer Komponentengruppe aufweisen, benachbart zueinander in einer gemeinsamen Icon-Gruppe dargestellt werden,
53) automatisches grafisches Kennzeichnen der Icons, die einer gemeinsamen Icon-Gruppe angehören,
54) automatisches Empfangen einer Änderungsanweisung hinsichtlich der Zugehörigkeit einer Komponente zu einer Komponentengruppe,
55) automatisches Ändern der Zugehörigkeit der Komponente zu einer Komponentengruppe entsprechend der empfangenen Änderungsanweisung und
56) automatisches Verschieben des Icons der Komponente, zu der die Änderungsanweisung empfangen worden ist, derart, dass dieses Icon in der
Icon-Gruppe bzw. in den Icon-Gruppen dargestellt wird, zu der bzw. zu denen es nun gehört.
Dabei verwendete bzw. erzielte Komponentendiagramme sind exemplarisch aus den Fig. 2 bis 6 ersichtlich.
Fig. 2 zeigt dabei schematisch ein Komponentendiagramms vor Anwendung des oben genannten Verfahrens. Erkennbar wird eine Vielzahl von Icons angezeigt, wobei noch nicht dargestellt wird, ob oder dass verschiedene Icons zu einer gemeinsamen Icon-Gruppe gehören. Auch ist noch keine Sortierung der Icons erfolgt, so dass diese noch nicht in gemeinsamen Icon-Gruppen dargestellt werden. Zwischen solchen Icons, deren Komponenten in dem System miteinander verknüpft sind, werden Verbindungslinien angezeigt, und zwar in Form von Be- zier-Kurven.
Um dem Nutzer nun einen besseren Überblick über die Icons und deren Zugehörigkeit zu einer Icon-Gruppe oder zu mehreren Icon-Gruppen zu ermöglichen, ist gemäß dem hier beschriebenen bevorzugten Ausführungsbeispiel der Erfindung vorgesehen, Icons, die einer gemeinsamen Icon-Gruppe angehören, dadurch zu kennzeichnen, dass die Icons von gemeinsamen sichtbaren Seitenrändern umrahmt werden. Konkret werden die Icons dazu innerhalb der Seitenränder gemeinsam mit derselben Hintergrunddarstellung hinterlegt, und zwar mit derselben Hintergrundfarbe. Die Seitenränder werden vorliegend also dadurch erhalten, dass die Hintergrundfarbe wechselt. Dies ist für eine Icon-Gruppe exemplarisch in Fig. 3 dargestellt. In Fig. 3 sind Icons bereits so verschoben worden, dass die Icons, die gemeinsam zu der dort gekennzeichneten Gruppe gehören, in unmittelbarer Nähe zueinander angeordnet sind, so dass sie durch das Hinterlegen einer Graufärbung als gemeinsam zu dieser Gruppe gekennzeichnet werden können.
Dazu ist ein automatisches Verschieben von Icons solcher Komponenten erforderlich, zu denen Änderungsanweisungen empfangen worden sind. Solche Änderungsanweisungen können vorliegend, wie z. B. Fig. 4 entnehmbar, dadurch erfolgen, dass mittels eines Kontextmenüs ausgewählt wird, zu welcher Icon-
Gruppe ein jeweiliges Icon gehören soll. Über den Aufruf des Menüpunkts „Spatial Groups“ mittels Mausklick ist vorliegend aus den Auswahlmöglichkeiten „SpatialGroupI“, „SpatialGroup2“, „SpatialGroupß“ und „SpatialGroup4“ die Zuordnung zu „SpatialGroupI“ aktiviert worden. Weitere Gruppen könnten gleichzeitig ausgewählt werden, sind vorliegend aber deaktiviert worden, weil das in Rede stehende Icon nur zur Gruppe „SpatialGroupI“ gehört und zu keiner weiteren Gruppe. Auf diese Weise ist der Nutzer schnell in der Lage, Icons einer neuen Gruppe zuzuordnen.
Was das automatische Verschieben von Icons solcher Komponenten angeht, zu denen Änderungsanweisungen empfangen worden sind, gilt nun das Folgende: Auf ein solches Icon wirkt ein erster Separierungsvektor ein, der das Icon bewegt und es somit aus einer Icon-Gruppe, zu der es nicht gehört, herausdrängt. Dabei wirkt der erster Separierungsvektor in eine solche Richtung, dass das Icon auf dem kürzesten Weg aus der Icon-Gruppe herausgedrängt wird. Dazu wird der erste Separierungsvektor wie folgt bestimmt: Zuerst erfolgt ein Ermitteln eines Richtungsvektors aus der relativen Position des Icons zu dem Seitenrand der Icon-Gruppe, der die kürzeste Distanz zu dem Icon aufweist, und danach erfolgt ein Multiplizieren des Richtungsvektors mit einem vordefinierten ersten Skalar, um den ersten Separierungsvektor zu erhalten. Für den ersten Skalar ist vorab ein Default-Wert bestimmt worden, der allerdings vom Nutzer bedarfsweise verändert werden kann. Der erste Skalar bestimmt die Geschwindigkeit, mit der sich das Icon bewegt. Kann der Nutzer also dem Icon aufgrund einer für ihn zu hohen Geschwindigkeit schlecht folgen, kann er den Wert des Skalars heruntersetzen, um eine für ihn angenehmere Geschwindigkeit zu erreichen.
Maßgeblich ist nun, dass der erste Separierungsvektor unter der Maßgabe bestimmt wird, dass er nur vertikal nach oben oder unten oder horizontal nach rechts oder links zeigen darf. Auf diese Weise ist eine schnelle Entfernung des Icons aus der Icon-Gruppe, zu der es nicht gehört, möglich, da unnötige Bewegungen in unterschiedliche Richtungen vermieden werden.
Außerdem gilt, dass das Icon den ersten Separierungsvektor behält, auch wenn es aus der Icon-Gruppe herausgedrängt worden ist. Auf diese Weise bewegt es
sich weiter durch das Komponentendiagramm und kann letztlich zu der Gruppe finden, zu der es gehört. Dazu ist unter Anderem vorgesehen, dass das Icon einen zweiten, auf das Icon einwirkenden und das Icon bewegenden Separierungsvektor erhält, wenn es in eine andere Icon-Gruppe eindringt, zu der es nicht gehört, wobei der zweite Separierungsvektor bestimmt wird durch das Ermitteln eines Richtungsvektors aus der relativen Position des Icons zu dem Seitenrand der anderen Icon-Gruppe, der die kürzeste Distanz zu dem Icon aufweist, und durch ein Multiplizieren des Richtungsvektors mit einem vordefinierten zweiten Skalar, um den zweiten Separierungsvektor zu erhalten. Auch hier gilt, dass der zweite Skalar mit einem Default-Wert versehen ist, der allerdings vom Nutzer verändert werden kann, um die Bewegungsgeschwindigkeit des Icons an seine Bedürfnisse anzupassen.
Nun ist es möglich, dass die Addition des ersten Separierungsvektors und des zweiten Separierungsvektors die aktuelle Geschwindigkeit des Icons vermindert oder zu einem Richtungswechsel des Icons führt. In einem solchen Fall wird ein dritter Separierungsvektor bestimmt, der senkrecht zur bisherigen Bewegung des Icons auf dieses einwirkt und dieses bewegt. Damit wird sichergestellt, dass sich das Icon weiter durch das Komponentendiagramm bewegen und letztlich zu der Gruppe finden kann, zu der es gehört. Der dritte Separierungsvektor wird dabei bestimm, indem zuerst ein Richtungsvektor aus der relativen Position des Icons zu dem Seitenrand der Icon-Gruppe bestimmt wird, der senkrecht zur bisherigen Bewegung des Icons die kürzeste Distanz zu dem Icon aufweist, und dann der Richtungsvektor mit einem vordefinierten dritten Skalar multipliziert wird, um den dritten Separierungsvektor zu erhalten. Auch der dritte Skalar weist einen voreingestellten Default-Wert auf, der vom Nutzer verändert werden kann, um die Geschwindigkeit des Icons auf seine Bedürfnisse anzupassen.
Vorliegend werden also Icon-Gruppen genutzt, um Hypothesen und zugehörige Ereignisse mittels eines Komponentendiagramms miteinander zu verbinden. Eine Hypothese macht eine Aussage über den zeitlichen oder logischen Zusammenhang mehrerer Ereignisse, die ihrerseits ein erwartetes Verhalten bestimmter Komponenten definieren. Um diese Hypothesen schneller zu verstehen, wird eine Gruppe erstellt, die alle Komponenten der Hypothese enthält, und eine
Gruppe für jedes Ereignis, die jeweils die Komponenten des spezifischen Ereignisses enthalten. Es lässt sich immer eine Ereignis-Gruppe aktivieren, die dann als Untergruppe der Hypothesengruppe angezeigt wird. Dies ist exemplarisch aus Fig. 6 ersichtlich. Wenn es darum geht, Komponenten zu identifizieren, die Teil einer Hypothese sind, wird dies maßgeblich erleichtert, wenn anstatt eines manuellen Suchens das vorliegend beschriebene Verfahren genutzt werden kann.
Im Vergleich mit dem vorliegend beschriebenen Verfahren wird bei einer klassischen prozeduralen Generierung für gewöhnlich eine Noise-Funktion verwendet, welche mittels eines Pseudozufallszahlengenerators und weiterer Parameter eine prozedural generierte Datenmenge erstellt, welche den in der Generierung von den Variablen gesetzten Rahmenbedingungen entspricht. Dieser Zustand ist allerdings statisch. Verändert der Nutzer etwas an den Daten, wie die Zugehörigkeit eines Icons zu einer Icon-Gruppe, so ist nicht mehr gegeben, dass die Datenmenge den Rahmenbedingungen entspricht.
Anders als bei der klassischen prozeduralen Generierung beruht vorliegend der Zufallsfaktor nicht auf einem Pseudozufallszahlengenerator. Vielmehr entsteht durch Bewegen der Icons eine random isierte Verteilung in dem Komponentendiagramm. Durch die Zuweisung von Icons zu Icon-Gruppen entsteht so eine prozedural generierte Verteilung der Icons im Diagramm, in welcher die durch die Zugehörigkeit der Icons zu Icon-Gruppen gegebenen Rahmenbedingungen stets eingehalten werden. So ist es für den Nutzer möglich, die Generierung nach Belieben anzupassen, worauf das Komponentendiagramm stets reagiert, um die Rahmenbedingungen weiter einzuhalten. Somit bietet das vorliegend beschriebene Verfahren einen interaktiven Ansatz zur prozeduralen Generierung, in der Fachliteratur oft auch als prozedurale Synthese bezeichnet.
Ein Anwendungsfall für diese Art der prozeduralen Generierung existiert in der Städteplanung. Beispielsweise kann jedes Haus in einer Stadt als Komponente dargestellt werden, wobei jedes Haus Teil eines Stadtteils ist, welcher sich als Icon-Gruppe darstellen lässt. Einige Gebäude können hier auch Funktion für mehre Stadtteile haben, zum Beispiel Brücken oder Umspannwerke. Diese Ge-
bäude werden somit Teil mehrerer Icon-Gruppen. Das hier beschriebene Verfahren separiert somit die Gebäude in ihre Stadtteile, und durch die Nutzerinteraktion ist die Verteilung der Gebäude innerhalb der Stadtteile und deshalb auch deren Dimensionierung und die Verteilung der Stadtteile selbst randomisiert. Weiterhin ist es dem Nutzer möglich, die Verteilung der Gebäude manuell anzupassen, zum Beispiel bei einer unglücklichen Verteilung von Umspannwerken, wobei das Verfahren aktiv sicherstellt, dass die Abgrenzungen zwischen den Stadtteilen weiterhin eingehalten werden.
Neben der Städteplanung sind auch Anwendungen möglich, die andere Kriterien für eine Gruppierung mitbringen. Insbesondere, wenn Komponenten Teile mehrerer Gruppen sind, ist die hier vorgestellte Erfindung besser geeignet als statische Verfahren, vor allem weil der Nutzer auf das Layout stets Einfluss nehmen kann. So können aufgrund der mit dem Verfahren verbundenen sehr effizienten Nutzung der zur Verfügung gestellten Computerleistung in kürzester Zeit sehr viele Layouts erzeugt werden, die zwar alle die Rahmenbedingungen einhalten, aber sich doch grundlegend voneinander unterscheiden können.
Ein weiteres mögliches Anwendungsbeispiel des vorliegenden Verfahrens ist das Erstellen eines Layout-Entwurfs einer elektronischen Schaltungsanordnung, beispielsweise einer elektronischen Leiterplatte, die vorgesehen ist, mit elektronischen Bauelementen bestückt zu werden. Beispielsweise um möglichst kleine Leitungswiderstände und/oder möglichst geringe Leitungsinduktivitäten zu erreichen, sind die betroffenen elektronische Bauelemente bevorzugt untereinander mit möglichst kurzen Leiterbahnen zu verbinden und werden dafür beispielsweise mittels ihrer Icons ein und derselben ersten Icon-Gruppe zugeordnet. Andere elektronische Bauelemente, die während einer Nutzung eine vergleichsweise große Wärmeabgabe aufweisen, werden beispielsweise einer zweiten Icon- Gruppe zugeordnet, die sich z. B. in einer räumlichen Nähe eines Lüfters befindet, der für die Konvektionskühlung der elektronischen Bauelemente zuständig ist. Die Komponenten weisen jeweils Parameter auf, die sie für die erste Gruppe oder/und für die zweite Gruppe qualifizieren. Ist beispielsweise für ein elektronisches Bauelement sowohl eine große Wärmeabgabe als auch ein Erfordernis eines geringen Leitungswiderstandes zu einem anderen Bauelement der ersten
Gruppe vordefiniert, so wird das Bauelement sowohl der ersten Gruppe als auch der zweiten Gruppe zugeordnet, wodurch es in einen Überlappungsbereich der beiden Gruppen gelangt. Dies ist exemplarisch aus Fig. 5 ersichtlich, die überlappende Gruppen zeigt. Hier sind zwei Icon-Gruppen definiert, wobei einige Icons in beiden Gruppen enthalten sind. Diese Komponenten befinden sich in der dunkleren Fläche, welche die Überlappung der beiden Gruppen repräsentiert. Die einzelnen Flachen der Gruppen wirken optisch damit als semitransparentes Overlay, bei dem sich die Durchlässigkeit bei Überlappung reduziert. Somit können auch hierarchische Strukturen dargestellt und Zusammenhänge zwischen mehreren Gruppen leichter identifiziert werden. Mittels des beschriebenen Verfahrens kann somit im Ergebnis erreicht werden, dass die elektronischen Bauelemente gemäß der Gruppenparameter (z.B. geringe Leitungswiderstande und/oder große Wärmeabga- be) optimiert auf der zu bestückenden Leiterplatte platziert werden können.
Claims
1 . Computerimplementiertes Verfahren zum Darstellen eines Komponentendiagramms von Komponenten eines Systems, wobei wenigstens einem Teil der Komponenten jeweils eine Gruppenzugehörigkeit zu einer Komponentengruppe oder mehreren Komponentengruppen einer Komponentengruppenanzahl zugeordnet ist, mit folgenden Verfahrensschritten:
Darstellen eines Icons für jede Komponente auf einer grafischen Wiedergabevorrichtung, automatisches Verschieben von Icons derart, dass Icons von Komponenten, die dieselbe Gruppenzugehörigkeit zu einer Komponentengruppe aufweisen, benachbart zueinander in einer gemeinsamen Icon-Gruppe dargestellt werden, automatisches grafisches Kennzeichnen von Icons, die einer gemeinsamen Icon-Gruppe angehören, automatisches Empfangen einer Änderungsanweisung hinsichtlich der Zugehörigkeit einer Komponente zu einer Komponentengruppe, automatisches Ändern der Zugehörigkeit der Komponente zu einer Komponentengruppe entsprechend der empfangenen Änderungsanweisung und automatisches Verschieben des Icons der Komponente, zu der die Änderungsanweisung empfangen worden ist, derart, dass dieses Icon in der Icon-Gruppe bzw. in den Icon-Gruppen dargestellt wird, zu der bzw. zu denen es nun gehört.
2. Computerimplementiertes Verfahren nach Anspruch 1 , wobei Verbindungslinien zwischen solchen Icons angezeigt werden, deren Komponenten in dem System miteinander verknüpft sind.
3. Computerimplementiertes Verfahren nach Anspruch 1 oder 2, wobei das grafische Kennzeichnen der Icons, die einer gemeinsamen Icon-Gruppe angehören, dadurch erfolgt, dass die Icons von gemeinsamen sichtbaren Seitenrändern umrahmt werden.
4. Computerimplementiertes Verfahren nach Anspruch 3, wobei die Icons innerhalb der Seitenränder gemeinsam mit derselben Hintergrunddarstellung hinterlegt werden.
5. Computerimplementiertes Verfahren nach Anspruch 3 oder 4, wobei das automatische Verschieben des Icons der Komponente, zu der die Änderungsanweisung empfangen worden ist, dadurch erfolgt, dass auf dieses Icon ein erster Separierungsvektor einwirkt, der das Icon bewegt und es somit aus einer Icon-Gruppe, zu der es nicht gehört, herausdrängt.
6. Computerimplementiertes Verfahren nach Anspruch 5, wobei der erster Separierungsvektor in eine solche Richtung wirkt, dass das Icon auf dem kürzesten Weg aus der Icon-Gruppe herausgedrängt wird.
7. Computerimplementiertes Verfahren nach Anspruch 5 oder 6, wobei der erster Separierungsvektor wie folgt bestimmt wird:
Bestimmen eines Richtungsvektors aus der relativen Position des Icons zu dem Seitenrand der Icon-Gruppe, der die kürzeste Distanz zu dem Icon aufweist, und
Multiplizieren des Richtungsvektors mit einem vordefinierten ersten Skalar, um den ersten Separierungsvektor zu erhalten.
8. Computerimplementiertes Verfahren nach einem der Ansprüche 5 bis
7, wobei der erste Separierungsvektor unter der Maßgabe bestimmt wird, dass er auf nur vertikal nach oben oder unten oder horizontal nach rechts oder links zeigen darf.
9. Computerimplementiertes Verfahren nach einem der Ansprüche 5 bis
8, wobei das Icon den ersten Separierungsvektor behält, auch wenn es aus der Icon-Gruppe herausgedrängt worden ist.
10. Computerimplementiertes Verfahren nach Anspruch 9, wobei das Icon einen zweiten, auf das Icon einwirkenden und das Icon bewegenden Separie-
rungsvektor erhält, wenn es in eine andere Icon-Gruppe eindringt, zu der es nicht gehört, wobei der zweite Separierungsvektor wie folgt bestimmt wird:
Bestimmen eines Richtungsvektors aus der relativen Position des Icons zu dem Seitenrand der anderen Icon-Gruppe, der die kürzeste Distanz zu dem Icon aufweist, und
Multiplizieren des Richtungsvektors mit einem vordefinierten zweiten Skalar, um den zweiten Separierungsvektor zu erhalten.
11 . Computerimplementiertes Verfahren nach Anspruch 10, mit dem folgenden zusätzlichen Verfahrensschritt:
Bestimmen eines dritten Separierungsvektor, falls die Addition des ersten Separierungsvektors und des zweiten Separierungsvektors die aktuelle Geschwindigkeit des Icons vermindert oder zu einem Richtungswechsel des Icons führt, wobei der dritte Separierungsvektor senkrecht zur bisherigen Bewegung des Icons auf dieses einwirkt und dieses bewegt.
12. Computerimplementiertes Verfahren nach Anspruch 11 , wobei der dritte Separierungsvektor wie folgt bestimmt wird:
Bestimmen eines Richtungsvektors aus der relativen Position Icons zu dem Seitenrand der Icon-Gruppe, der senkrecht zur bisherigen Bewegung des Icons kürzeste Distanz zu dem Icon aufweist, und
Multiplizieren des Richtungsvektors mit einem vordefinierten dritten Skalar, um den dritten Separierungsvektor zu erhalten.
13. Nichtflüchtiges, computerlesbares Speichermedium mit darauf abgespeicherten Befehlen, die bei ihrer Ausführung auf einem Prozessor ein Verfahren nach einem der vorhergehenden Ansprüche bewirken.
14. Anzeigevorrichtung, die zur Durchführung eines Verfahrens nach einem der Ansprüche 1 bis 12 eingerichtet ist.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102023100234.1 | 2023-01-05 | ||
DE102023100234.1A DE102023100234A1 (de) | 2023-01-05 | 2023-01-05 | Computerimplementiertes Verfahren zum Darstellen eines Komponentendiagramms |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2024146742A1 true WO2024146742A1 (de) | 2024-07-11 |
Family
ID=89386023
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/EP2023/084914 WO2024146742A1 (de) | 2023-01-05 | 2023-12-08 | Computerimplementiertes verfahren zum darstellen eines komponentendiagramms |
Country Status (2)
Country | Link |
---|---|
DE (1) | DE102023100234A1 (de) |
WO (1) | WO2024146742A1 (de) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080307364A1 (en) * | 2007-06-08 | 2008-12-11 | Apple Inc. | Visualization object receptacle |
WO2013113078A1 (en) * | 2012-01-30 | 2013-08-08 | "Elido" Ad | Method for visualization, grouping, sorting and management of data objects through the realization of a movement graphically representing their level of relevance to defined criteria on a device display |
US20150370425A1 (en) * | 2014-06-24 | 2015-12-24 | Apple Inc. | Application menu for video system |
US20190042684A1 (en) * | 2017-08-02 | 2019-02-07 | Oracle International Corporation | Schematic Driven Analog Circuit Layout Automation |
WO2022017786A1 (de) | 2020-07-23 | 2022-01-27 | Dspace Gmbh | Anzeigegerät und verfahren zum visualisieren |
-
2023
- 2023-01-05 DE DE102023100234.1A patent/DE102023100234A1/de active Pending
- 2023-12-08 WO PCT/EP2023/084914 patent/WO2024146742A1/de unknown
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080307364A1 (en) * | 2007-06-08 | 2008-12-11 | Apple Inc. | Visualization object receptacle |
WO2013113078A1 (en) * | 2012-01-30 | 2013-08-08 | "Elido" Ad | Method for visualization, grouping, sorting and management of data objects through the realization of a movement graphically representing their level of relevance to defined criteria on a device display |
US20150370425A1 (en) * | 2014-06-24 | 2015-12-24 | Apple Inc. | Application menu for video system |
US20190042684A1 (en) * | 2017-08-02 | 2019-02-07 | Oracle International Corporation | Schematic Driven Analog Circuit Layout Automation |
WO2022017786A1 (de) | 2020-07-23 | 2022-01-27 | Dspace Gmbh | Anzeigegerät und verfahren zum visualisieren |
Non-Patent Citations (1)
Title |
---|
CLEMENS SZYPERSKI: "Component Software - Beyond Object-Oriented Programming", 2002, pages: 41 |
Also Published As
Publication number | Publication date |
---|---|
DE102023100234A1 (de) | 2024-07-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE60008264T2 (de) | Datenaustausch zwischen cad-systemen | |
DE112015005994B4 (de) | Softwareerzeugungseinrichtung | |
DE112017007656T5 (de) | Verschobene aktualisierung von datenbank-hashcode in einer blockchain | |
EP3584751A1 (de) | Verfahren zum erstellen eines digitalen zwillings | |
DE102019003928A1 (de) | Positionsinformationsanzeigesystem | |
EP3572956A1 (de) | Erstellung eines interdisziplinären simulationsmodells | |
DE102010055708A1 (de) | Verfahren zum Berechnen einer kollisionsfreien Geschwindigkeit für einen Agenten in einer Menschenmassensimulationsumgebung | |
DE19513960A1 (de) | Abbildung eines Graphen in einen Speicher | |
DE69229433T2 (de) | Einrichtung und Verfahren zur kinematischen Simulierung | |
DE112012005532T5 (de) | Verfahren und Vorrichtung zum Verarbeiten von Daten dreidimensionaler Modelle | |
EP1820160A1 (de) | Verfahren zur ableitung von technischen zeichnungen aus 3d modellen mit mindestens zwei kollidierenden 3d körpern | |
DE102014210602A1 (de) | Computernetzwerk und Verfahren zum Verschieben eines Objektes innerhalb eines Computernetzwerkes | |
WO2024146742A1 (de) | Computerimplementiertes verfahren zum darstellen eines komponentendiagramms | |
DE60026847T2 (de) | Verfahren, einem objekt in einer datenbank eine identität zuzuweisen | |
EP1092210A1 (de) | Vorrichtung und verfahren zur erstellung eines virtuellen anlagenmodells | |
DE102020119853B3 (de) | Verfahren zum Steuern eines Automatisierungssystems mit Visualisierung von Programmobjekten eines Steuerprogramms des Automatisierungssystems und Automatisierungssystem | |
DE112018000951T5 (de) | System und Verfahren zum Simulieren der Bearbeitung eines Werkstücks | |
EP2191338B1 (de) | System zur erstellung eines simulationsprogramms | |
DE102011082838A1 (de) | Identifikation wiederverwendbarer mechatronischer Komponenten in der Fabrikautomation | |
DE102021200927A1 (de) | Verfahren und Vorrichtung zur Analyse eines insbesondere in einen zumindest teilautonomen Roboter oder Fahrzeug eingebetteten Systems | |
EP2642749B1 (de) | Vorrichtung und Verfahren zur Optimierung der Bestimmung von Aufnahmebereichen | |
EP3901713A1 (de) | Verfahren und system zum betrieb einer technischen anlage mit einem optimalen modell | |
EP4121897B1 (de) | Verfahren und systeme zum bereitstellen von synthetischen gelabelten trainingsdatensätzen und ihre anwendungen | |
DE10206658A1 (de) | Verfahren zum Überprüfen einer integrierten elektrischen Schaltung | |
DE19625869C2 (de) | Verfahren zum parallelen Zusammenfassen von N Datensätzen |