software components

Top PDF software components:

Documentation and conceptual development of software components for the execution of geometric Boolean set operations on the basis of Java3D

Documentation and conceptual development of software components for the execution of geometric Boolean set operations on the basis of Java3D

software components differ from this suggestion. Instead of this, the fast triangle-triangle intersection test by Möller [3] is used to check, if two triangles intersect. This test is adapted to the fact that coplanar faces can be neglected as mentioned earlier. Consequently, if the test detects that two triangles are coplanar, it will not be tested, whether they really intersect or not, because these triangles will not be regarded anyway. Furthermore, the signed distances from the triangle's vertices to the other triangle's plane computed by the triangle intersection test will be stored in order to use them later in the algorithm. The signed distances will be computed by inserting the respective vertex into the plane equation of the other triangle (Figure 4.5). If these distances are near zero (within a certain tolerance), the distances will be set to exactly zero. In this way, a tolerance has not to be regarded within the following steps. Moreover, the direction vector of the intersection line between the triangles' planes (also computed by the Möller pretest) can be stored, too. Thus, it is not necessary to compute it again later when it is needed.
Mehr anzeigen

50 Mehr lesen

Dynamic Upgrade of Distributed Software Components

Dynamic Upgrade of Distributed Software Components

Derived from the problem analysis, a model called Deployment and Upgrade Facility describing the capabilities needed for managing and performing dynamic upgrades as well as properties of upgradable software components is developed using the Unified Process approach. The model is platform independent and can be used with a range of underlying middleware technologies. The model is implemented in a Java-based prototypical framework and extended with platform specific mechanisms on top of the JGroup/ARM middleware. The framework captures common design solutions and patterns for building a support for dynamic upgrade. The framework allows for controlling life-cycle and coordination of upgrade processes in the system. It also defines a number of supporting mechanisms and algorithms for the upgrade process. A special attention is drawn to an upgrade algorithm for replicated software components for achieving a synergy of replication techniques and dynamic upgrade . The developed framework is used to validate the feasibility of the approach and to measure the overhead of the mechanisms supporting dynamic upgrade with regard to the performance of the system being upgraded in a number of practical experiments. This quantitative evaluation of the experiments leads to a specification of a simple benchmark for systems supporting dynamic upgrades.
Mehr anzeigen

191 Mehr lesen

Parameter dependencies for reusable performance specifications of software components

Parameter dependencies for reusable performance specifications of software components

In software engineering, a major goal for the use of software components besides the division of work is reusability [SGM02, p.12]. Other than hardware components, software components can easily be copied, therefore it is desirable to implement a certain functionality once and then reuse it in many different contexts by copy- ing the implementation. Besides reusability, decomposing a system into replaceable components prepares the system for change, as individual parts can be exchanged more easily with newer versions [CD01, p.2]. This is especially beneficial in the IT industry, where systems are evolving and technologies are changing at a rapid pace. Because of the targeted reuse, software components are usually more thoroughly tested than other software, therefore potentially increasing the quality of a compo- nent system [Wey98]. Furthermore, assembling a system from prefabricated compo- nents allows compositional reasoning on the properties of the system based purely on the specifications of individual components [RPS03]. This can for example be used to determine extra-functional properties, such as performance, reliability, or security of a component-based system, without writing any code.
Mehr anzeigen

354 Mehr lesen

Frequently occurring patterns in behavioral specification of software components

Frequently occurring patterns in behavioral specification of software components

An appropriate and standardized specification of software components is prerequisite for a composition methodology and tool support [18] as well as for reuse of compo- nents by third parties [20]. With specification of a component we denote the complete, unequivocal and precise description of its external view - that is which services a component provides under which conditions [21]. Important approaches towards specification of software components include [4,5,6,11,18,21]. Component specifica- tions must comprise several aspects and are therefore frequently divided into different specification levels. Objects to be specified include business terms, business tasks (domain-related perspective), interface signatures, behavior and coordination con- straints (logical perspective) and non-functional attributes (physical perspective).
Mehr anzeigen

16 Mehr lesen

Parameter dependencies for reusable performance specifications of software components

Parameter dependencies for reusable performance specifications of software components

This subsection gives a short overview on some central concepts in performance engi- neering to make the reader familiar with the context of the methods and models proposed in this thesis. Chapter 2.3.1 briefly describes the most important metrics for performance and explains the three principal methods for performance evaluation. Chapter 2.3.2 sur- veys some of the classical performance models, such as queueing networks and stochas- tic Petri nets. While these classical models center around modelling hardware resources of a system, the Software Performance Engineering (SPE) approach initiated by Smith [Smi90] emphasises the influence of software on performance properties and is discussed in Chapter 2.3.3. Recently, several performance meta-models have been proposed in the literature, as it is the goal to create an ontology for performance modelling [Cor05]. Chap- ter 2.3.4 briefly describes these models, as they are loosely related to the Palladio Compo- nent Model.
Mehr anzeigen

335 Mehr lesen

Preliminary specification and design documentation for software components to achieve Catallaxy in computational systems

Preliminary specification and design documentation for software components to achieve Catallaxy in computational systems

Adobe’s PDF file format is a common exchange file type for mixed text and graphics docu- ments, mostly due to its preservation of layout specifics. The files are created using the (usu- ally locally installed) Acrobat Distiller service, which converts from e.g. Microsoft Word or Postscript files. In an "on-demand” Service Grid, Distiller web services are available in the network, hosted by independent vendors and directly accessible from the software applica- tion, competing with each other for the clients’ demand. The word-processor client programs transparently address such a networked PDF conversion service instance in the background, without disturbing the user’s course of work. Clients and service provider instances bargain on access prices on a case-by-case basis, taking into account the current and prospective de- velopment of supply and demand to increase the monetary utility of their respective owners. Services instances are situated on host computers, which, for simplicity, are assumed to pro- vide processor power and storage on a fixed cost basis.
Mehr anzeigen

75 Mehr lesen

Specification and verification of object-oriented software components

Specification and verification of object-oriented software components

Verification is based on the existence of two artifacts: A program and a for- mal specification. While software engineers generally consider it quite easy to write code, writing formal specifications is usually considered much more difficult. The KeY system assists users with this task by supporting speci- fication languages which accommodate the world of software engineering as well as that of formal methods—to the extend possible. The supported spec- ification languages are the Object Constraint Language (OCL) [Warmer and Kleppe, 1999], which is part of the well accepted Unified Modeling Language (UML) [OMG] standard, and the Java Modeling Language (JML) [Leavens et al., 2005] which tries to syntactically resemble Java. Both, OCL and JML, are based on the idea of design by contract [Meyer, 1992] providing methods and classes with operation contracts and class invariants. Moreover tools are available within KeY which generate formal specifications from a pattern template mechanism and natural language input. Finally, the KeY system is integrated in the work bench of developers, as in a CASE tool or an in- tegrated development environment. This allows for seamless integration of specification and verification in the software development process.
Mehr anzeigen

270 Mehr lesen

A systematic methodology for adapting software components

A systematic methodology for adapting software components

External adaptation uses smart connectors [1] that resolve mismatch problems among components. A smart connector is an external module that sits between the component consumer and the component and mediates the partial matches between them as in Fig. 3. Hence, the connector mechanism does not alter any internal part of the component. The smart connector has a transformation rule to resolve partial matches between components that have different functionalities, interfaces, data value ranges, and workflows. The Smart connector mechanism is used to adapt components without modifying the components themselves.
Mehr anzeigen

15 Mehr lesen

Software Stories Guide

Software Stories Guide

, the Register Thesis step shown in Figure 10 shows an incomplete triangle icon representing the PDF Bot component of our Theses Manager. This piece of software is responsible to open PDF forms and to auto-fill them using the data collected in our Theses Manager. If (that piece of) your software already has a logo, you may use that logo to represent it in a Software Story (as the open triangle resembles the Adobe icon). You may also use icons resembling a computer or a robot or for example a xerox machine to show software components that do a certain job. Adding software components as actors to your software stories greatly helps to illustrate internal activities executed by your program(s). They may also be used for internal discussions in the software development teams to clarify the responsibilities of the various software components to be developed. They also help domain experts to understand how the software works internally. This will help your users in working with the system. Note, a software component participating in a certain step of a Software Story always represents a running instance of that software component that is executed on a certain computer at a certain point in time. This shall not be mixed with the part of the software that implements this behavior. The difference is that the same program binary may be executed on different computers at a certain point in time and on each computer it may modify its own copy of the data, cf. Figure 14 . Using runtime instances of a software in our Software Stories allows to model such situations. Still, the identification of software components and their roles in the example scenarios is a pretty good input for the software analysis and design. Later, the software developers will revisit these components and (together with some customer or product owner) clarify the details by refining the Software Stories with more data and more functional details. This may then serve as input for the component implementation.
Mehr anzeigen

21 Mehr lesen

An environment for modeling workflow components

An environment for modeling workflow components

Abstract: An important goal of workflow engines is to simplify the way in which the interaction of workflows and software components (or services) is described and implemented. The vision of the AristaFlow project is to support a "plug and play" approach in which workflow designers can describe interactions with components simply by "dragging" them from a repository and "dropping" them into appropriate points of a new workflow. However, to support such an approach in a practical and dependable way it is necessary to have semantically rich descriptions of components (or services) which can be used to perform automated compatibility checks and can be easily understood by human workflow designers. This, in turn, requires a modeling environment which supports multiple views on components and allows these to be easily generated and navigated around. In this paper we describe the Integrated Development Environment (IDE) developed in the AristaFlow project to support these requirements. After outlining the characteristics of the "plug and play" workflow development model, the paper describes one of the main innovations within the IDE –the multi-dimensional navigation over views.
Mehr anzeigen

14 Mehr lesen

publish.UP Software-Fehlerinjektion

publish.UP Software-Fehlerinjektion

Die Betriebssystemforschung hat Fehlerinjektionstechniken in Software maß- geblich vorangetrieben. Da an Betriebssysteme erhöhte Verlässlichkeitsanforde- rungen bestehen, existiert ein breites Spektrum an Ansätzen, die Robustheit von Betriebssystemen zu testen. Fehlerinjektion basiert hierbei auf Fehlermodellen, die sowohl Software- als auch Hardwarefehlerursachen beinhalten. Bestehende Fehler- injektoren sind ein etabliertes Werkzeug und werden aktiv bei der Entwicklung von Betriebssystemen verwendet. In Kapitel 2 wurde die Geschichte dieser Werkzeu- ge umrissen und Fallstudien mit dem Programm crashme vorgestellt. In Kapitel 3 wurde der Fokus auf Werkzeuge für das Zufallstesten (Fuzzing) für Systemrufe gelegt. Trinity, aber auch andere Fuzzer haben in der Linux-Welt bereits viele Bugs aufgefunden.
Mehr anzeigen

62 Mehr lesen

Mehr Software–Sicherheit, mehr Software : Verlässlichkeit durch generalisierende und komponierende Abstraktion

Mehr Software–Sicherheit, mehr Software : Verlässlichkeit durch generalisierende und komponierende Abstraktion

Ebenso erhalten blieben in diesem Beispiel die Verbindungsstrukturen zwischen den Klassen aus dem ersten Beispiel, was jedoch nicht immer sein muss. In Abbildung 10 kann man dies an den mit Punkten gerasterten Klassen erkennen. Sie entsprechen den Klassen des Beispiels Abbildung 5. Da sich alternative Ausklammerungsmöglichkeiten ergeben können, könnten sich die Verbindungs- strukturen ebenfalls ändern. Dies hat jedoch auf die „logisch - mathematische“ Qualität der ge- fundenen Lösung keinen Einfluss, denn jede nach den Regeln des Distributivgesetzes der Booleschen Algebra gefundene Lösung ist eine korrekte Lösung. Im zweiten System in Abbildung 10 sind gegenüber dem System in Abbildung 5 durch die Einführung des Phänomens „Dreiecks abhängig“ und des Phänomens „Vieleck“ keine zusätzlichen Klassenelemente entstanden. Alles, was zur Bearbeitung von Dreiecken aus dem ersten System vorhanden war, ist vom Algorithmus im zweiten System voll benutzt worden. Es entstanden keine mehrdeutigen Zustand- oder Prozesselemente. Dies liegt in der ordnenden Strukturierungseigenschaft dieser Vorgehensweise, abgeleitet aus der systematisch ordnenden Strukturierungseigenschaft des Distributivgesetzes der Booleschen Algebra. Man kann erkennen, dass diese ordnende Eigenschaft auch bei zu erweiternden Software - Systemen vorteilhaft ist, in dem der Algorithmus gewährleistet, dass die Eigenschaften des alten und neuen Systems vollständig konsolidiert sind und damit keine mehrdeutigen Eigenschaften aufweisen.
Mehr anzeigen

61 Mehr lesen

Entwicklung einer Software zur Pr

Entwicklung einer Software zur Pr

Aus einer Publikation von Stadionwelt geht hervor, dass auch h¨aufig sogenannte Playout- Systeme verwendet werden, die haupts¨achlich f¨ur die Anzeige von (Live-)Videoinhalten kon- zipiert sind [PHPP11b]. Einige dieser Playout-Systeme setzen die Konzepte eines Videomi- schers eins zu eins im Computer um und bilden diesen in der Software nach. Jedoch werden in erster Linie nur externe Videoquellen f¨ur die Anzeige unterst¨utzt. Daneben lassen sich zwar auch Bilder und Videoclips einspielen, jedoch nur sehr eingeschr¨ankt. Diese sind eher dazu gedacht, Informationen auf die Anzeige zu bringen, oder kurze Werbeclips auszustrahlen. Die Bilder und Videos lassen sich untereinander jedoch nicht mischen, denn diese Funktion ist nur f¨ur die eingebundenen Kamerabilder vorgesehen. Der Einsatzort solcher Anwendungen sind daher eher Konzerte und Live-Auftritte, bei denen mehrere Kameras gleichzeitig ver- wendet werden und die jeweilige Anzeige flexibel gewechselt werden soll. Daher k¨onnen diese
Mehr anzeigen

88 Mehr lesen

Eine Videokonferenz-Software für das iPhone

Eine Videokonferenz-Software für das iPhone

Bei der Implementierung werden einige Änderungen am Software-Design vorgenommen. Ursprünglich wurde jedes im Netzwerk-Thread empfangene Videopaket an den Decoder- Thread weitergereicht. Dort wurde es dekodiert und auf das Display ausgegeben, während der Netzwerk-Thread auf den Decoder-Thread wartete. Erst nachdem der Decoder seine Berechnungen abgeschlossen hatte, konnte der Netzwerk-Thread weiterlaufen. Grundsätz- lich wäre der Ablauf auch über einen einfachen synchronen Methodenaufruf zu realisieren gewesen. Zur Verdeutlichung ist der Ablauf noch einmal in der Abbildung 4.1 dargestellt. Das Designziel für die Unterteilung in unterschiedliche Threads lag darin, Prioritäten für die einzelnen Aufgaben verteilen zu können.
Mehr anzeigen

76 Mehr lesen

Software Configuration Management

Software Configuration Management

Durch ein SCM-System sollen die Benutzer nicht von ihrer Hauptaufgabe abgelenkt werden, es soll also die Verwaltung der Daten vorwiegend selbst übernehmen und eine zwar funktional orient[r]

16 Mehr lesen

Parallel software caches

Parallel software caches

A parallel software cache is based on a readers/writers lock, i.e., as long as no thread alters the cache data structure, multiple threads may read simultaneously. If a thread wants to alter the cache because of a cache miss, it waits until all other threads have left the data structure, then it can update the contents of the cache. Other threads can access the cache only after the writer has nished its work. To increase utilization, the cache has a number of slots that can be locked separately. We investigate the tradeo between slot size, search time in the cache, and the time to re-compute a cache entry. Another major dierence between sequential and parallel software caches is the replacement strategy. We adapt classic replacement strategies such as LRU and random replacement for parallel caches.
Mehr anzeigen

17 Mehr lesen

Abschlussbericht des Projekts SiLEST  (Software in teh Loop for Embedded Software Test) in der BMBF-Forschungsoffensive "Software Engineering 2006"

Abschlussbericht des Projekts SiLEST (Software in teh Loop for Embedded Software Test) in der BMBF-Forschungsoffensive "Software Engineering 2006"

Zur  Durchführung  von  SiL-Tests  und  PiL-Tests  ist  die  zu  testende  Software  mit  einer  Simulation  der  physikalischen  Umgebung  zu  koppeln.  Die  Art  der  Kopplung  kann  auf  unterschiedliche  Arten  erfolgen.  Zum  einen  können  die  zu  testende  Modelle  der  Regelungsfunktionalität  im  SiL-Test  oder  der  Softwaremodule  im  PiL-Test  direkt  in  die  Simulation der Umgebung eingebettet werden. Zum anderen können die Modelle und  Softwaremodule  separat  von  der  Simulation  der  Umwelt  betrieben  werden.  Der  erste  Ansatz  wurde  im  Rahmen  des  SiLEST-Projekts  für  den  Test  des  Motormanagementsystems  verwendet,  der  zweite  Ansatz  zum  Test  des  vollständig  integrierten  Lageregelungssystems.  Der  zweite  Ansatz  wird  im  Folgenden  detaillierter  betrachtet. 
Mehr anzeigen

85 Mehr lesen

Software-Forschung für die Raumfahrt

Software-Forschung für die Raumfahrt

Software-Technologie für Weltraummüll-Datenbanken DLR.de • Folie 9 > geeks@cologne > Andreas Schreiber • Software-Forschung für die Raumfahrt > 20.10.2014.. „Weltraumschro[r]

26 Mehr lesen

Visualisierung von Software-Evolutionsgraphen

Visualisierung von Software-Evolutionsgraphen

Die einzelnen Ansichten sind so ¨ ubersichtlich wie m¨ oglich gehalten, wes- halb aufgrund der teilweise sehr hohen Anzahl an Nodes entschieden werden musste, welche hier jeweils dargestellt werden. Nicht alle im Datenmodell ent- haltenen Arten von Knoten sind relevant f¨ ur die Visualisierung. W¨ urde man versuchen, sie alle zu integrieren, br¨ auchte man entweder mehr Ansichten oder weniger Knoten, um die ¨ Ubersichtlichkeit und Benutzerfreundlichkeit weiterhin zu gew¨ ahrleisten. Deshalb enth¨ alt die Bundle-Ansicht auch nur al- le Bundles und die Klassenansicht nur Nodes mit dem Label ClassImpl. Hier hatte ich zwischenzeitlich ¨ uberlegt, diese optional um ihre m¨ oglichen Kon- struktoren und Interfaces erweitern zu k¨ onnen. Entweder ¨ uber eine Check- box, durch die sich visuell ein- oder ausblenden ließe, oder durch schriftliche Auflistung im Bereich der Kontextinformation. So h¨ atte ich dann auch die Compilation Unit zur Package-Ansicht hinzuf¨ ugen k¨ onnen. Diese enth¨ alt nun also alle Packages und Package Fragments des gew¨ ahlten Commits. Die Services und Service Components werden dann in der vierten Ansicht dar- gestellt. Alle Daten dieser Ansichten werden auf die gleiche Weise extrahiert und dargestellt.
Mehr anzeigen

30 Mehr lesen

Rechtsstaat sticht Software

Rechtsstaat sticht Software

Diese Schranken überschreiten jedenfalls die Gerichte, die der Verteidigung keine Einsichtsrechte in Rohmessdaten und digitale Messdateien gewähren. Das gesamte Verfahren bis zur Hauptverhandlung vor dem Amtsgericht läuft weitgehend automatisiert. In der Hauptverhandlung liegt dem Gericht als einziges Beweismittel ein Ausdruck des Geschwindigkeitswerts neben einem Identifikationsfoto vor. Eine Wahrheitsfindung ist ohne das eingesetzte Blitzersystem samt seiner Software völlig unmöglich. Jede Rechtsprechung, die die Prüfung dieses Systems beschränkt, betrifft damit den Kern des rechtsstaatlichen Verfahrens.
Mehr anzeigen

6 Mehr lesen

Show all 1782 documents...