research software

Top PDF research software:

An environment for sustainable research software in Germany and beyond

An environment for sustainable research software in Germany and beyond

We will follow Kim’s fictional career in order to understand different aspects of research software sustainability.. Job description & vacancy templates 2[r]

14 Mehr lesen

An environment for sustainable research software in Germany and beyond: Current state, open challenges, and call for action

An environment for sustainable research software in Germany and beyond: Current state, open challenges, and call for action

Computational analysis of large data sets, computer-based simu- lations, and software technology in general play a central role for virtually all scientific breakthroughs of at least the 21st century. The first image of a black hole may be the most promi- nent recent example where astrophysical experiments and the collection and processing of data had to be complemented with sophisticated algorithms and software to enable research excellence 1 , 2 . Similarly, it is research software that allows us to get a glimpse of the consequences our actions today have on the climate of tomorrow. However, an implication of computer-based research is that findings and data can only be reproduced, understood, and validated if the software that was used in the research process is sustained and their functionality maintained. At the same time, sustaining research software, and in particu- lar open research software, comes with a number of challenges. Commercial research software often has revenue flows that can facilitate sustainable software development, mainte- nance, and documentation as well as the operation of adequate infrastructure. However, a large share of researchers base their research on software that was developed in-house or as a community effort. Many of these software stacks can not be sustained – often because research software was not a first class deliverable in a research project and hence remained in a prototype state, or because of missing incentives and resources to maintain the software after project funding ended. Another fundamental difference to industrial software devel- opment is that most developers of academic research software (often doctoral students or postdoctoral researchers) never receive training in sustainable software
Mehr anzeigen

30 Mehr lesen

The State of Sustainable Research Software: Learning from the Workshop on Sustainable Software for Science: Practice and Experiences (WSSSPE5.1)

The State of Sustainable Research Software: Learning from the Workshop on Sustainable Software for Science: Practice and Experiences (WSSSPE5.1)

What can be termed as “coding” is a subset of wider software engineering practices such as version control, continuous integration and good software design. Coding is prevalent in academia but practices that allow sustain- able software to be produced are frequently overlooked. Motivating the uptake of the ap- proaches, methods and tools, and highlighting the benefit they deliver, by engaging with re- searchers who develop software is the first step in spreading best practice in our community. The authors point out the benefit of using online systems such as GitLab to reduce entry barriers and motivating the use of, e.g., version control and continuous integration (CI). Other software engineering principles such as pair- programming and code review are also encouraged early in (graduate) students training in order to demonstrate the benefits for future use and bridging gaps between disciplines. If these research software management practices become a requirement in grants application and reporting, widespread deployment is inevitable. Increasing recognition of software as a valid research output could provide further motivation, along with better reproducibility and reduced duplication of effort.
Mehr anzeigen

9 Mehr lesen

An environment for sustainable research software in Germany and beyond: current state, open challenges, and call for action

An environment for sustainable research software in Germany and beyond: current state, open challenges, and call for action

The sustained funding of all existing software efforts is not only impossible but would risk overly splintering the commu- nity and eventually become counterproductive to the efficiency of the research community. Therefore, it is important to agree on a list of transparent criteria that qualify a software prod- uct for sustained funding. We recognize that defining research software engineering criteria for software evaluation will also lead to activities aiming at optimizing scores to achieve these criteria. Hence, the criteria have to be designed such that all score-pushing effort truly advances the value of the soft- ware. Criteria that can be manipulated without effectively adding value, i.e., wasting resources, should be excluded. The list of criteria presented in this section could be the basis for a structured review process that facilitates an unbiased evalua- tion of software tools from various fields. Therefore, this list must be general enough to be applied to research software from various research disciplines while also respecting differences between fields (e.g. citation rates between humanities and life sciences). The challenge to do justice to a wide spectrum is e.g. reflected by suggesting criteria comprising different levels 54 .
Mehr anzeigen

29 Mehr lesen

Development of Research Software at DLR - Role and Status in Practice

Development of Research Software at DLR - Role and Status in Practice

> #deRSE19 > Lynn von Kurnatowski - Carina Haupt • Development of research software at DLR > 05.06.2019 DLR.de • Folie 3.. Survey about Research Software at DLR.[r]

46 Mehr lesen

Nine Best Practices for Research Software Registries and Repositories: A Concise Guide

Nine Best Practices for Research Software Registries and Repositories: A Concise Guide

Scientific software registries and repositories serve various roles in their respective disciplines. Registries are typically indexes or catalogs of software stored elsewhere, while repositories are both indexes and places where software is stored. Both types of resource improve software discoverability and research transparency, provide information for software citations, and foster preservation of computational meth- ods that might otherwise be lost over time, thereby supporting research reproducibility and replicability. Many provide or are integrated with other services, including indexing and archival services, which can be leveraged by librarians, digital archivists, journal editors and publishers, and researchers alike. Having specific policies in place for software registries and repositories ensures that users and administra- tors have reference documents to help define a shared understanding of the scope, practices, and rules that govern these collections. These practices can prove useful in a variety of situations, including, but not limited to, presenting the contents in the resource to stakeholders and community members, reassuring potential contributors by clarifying sensitive issues such as attribution, and defining how content in a registry or repository can be (re)used by others.
Mehr anzeigen

18 Mehr lesen

Developing and Managing Research Software in Universities and National Labs

Developing and Managing Research Software in Universities and National Labs

• More than 25% of personnel resources spend on software development Variety of • Fields • Maturity • Software technologies • Team sizes • Backgrounds. How to support scientists[r]

6 Mehr lesen

Dare to be mair than just FAIR! - FAIR PLAY to research software, courtesy of RSEs

Dare to be mair than just FAIR! - FAIR PLAY to research software, courtesy of RSEs

FAIR <insert digital artifact class here> FAIR <insert digital artifact class here> BETTER RESEARCH.. BETTER RESEARCH.[r]

46 Mehr lesen

Entwicklung einer Software zur Pr

Entwicklung einer Software zur Pr

Playout-Systeme sind haupts¨achlich f¨ur die Anzeige von Live-Kamerabildern vorgesehen. Eingesetzt werden diese h¨aufig auf Konzerten oder Live-Auftritten, bei denen gleichzeitig mehrere Kameras zum Einsatz kommen. Die Kamerabilder k¨onnen ¨uber die Software in Echt- zeit gemischt und ¨uberblendet werden. Manche Programme bilden einen Videomischer auch eins zu eins in der Benutzeroberfl¨ache ab. Diese Programme bieten daher die n¨otige Flexi- bilit¨at in der Bedienung. Diese Flexibilit¨at kommt aber h¨aufig mit einer großen Komplexit¨at der Bedienung daher. Es werden sehr viele Funktionen angeboten um die Videos mischen oder Bild-in-Bild Kompositionen erzeugen zu k¨onnen. Diese sind ¨uberall auf der Benutze- roberfl¨ache verteilt und bieten nur dem Experten eine M¨oglichkeit, die Software effektiv und effizient verwenden zu k¨onnen. Diese Software ist daher auf eine ganz spezielle Ziel- gruppe ausgerichtet und bietet f¨ur diese auch sehr viele spezialisierte Funktionen an. Auch nach Herstellerangaben ist der Anwendungsbereich die Echtzeitmischung von Live-Videos. Betrachtet man andere Medieninhalte wie Bilder oder vorher aufgenommene Videos, stellt man fest dass diese zwar unterst¨utzt jedoch nicht untereinander gemischt werden k¨onnen. Die Anzeige ist eher als Nebenfunktion gedacht, um Ank¨undigungen zu machen, oder ein paar Werbeclips auszustrahlen. Videos k¨onnen lediglich einzeln
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

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

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

Generalisierung zu Gunsten der Komposition aufzugeben, weil die Handhabung und Abbildung generalisierter Strukturen in den objektorientierten Programmiersprachen, insbesondere auch die Mehrfachvererbung, durch ihre Komplexität, Anwendungsentwicklern Schwierigkeiten bereiten würde [DrH]. Ein so wichtiges Ordnungsinstrument wie das der Generalisierung sollte man nicht leichtfertig aufgeben, wenn keine Konzepte zur Verfügung stehen, die nicht mindestens eine gleiche Ordnungskraft besitzen. Wie hier gezeigt wird, kann die Ordnungskraft beider Prinzipien, der Generalisierung sowie auch der Komposition, gemeinsam gleichzeitig genutzt werden, um Software – Systeme in der Entwicklung, Anwendung und Wartung sicherer nutzen zu können. Software-Systeme leiden nicht selten gerade in sicherheitsrelevanten Bereichen, wie der Verkehrsicherheit von Fahrzeugen oder der Medizintechnik, unter einer funktionalen Unsicherheit, die sehr oft auf mangelhaft geeignete systemische Konzepte in der Software - Konstruktion zurückzuführen ist. Dies ist oft dadurch bedingt, dass die in den Systemen mit herkömmlichen Konzepten und Methoden intuitiv definierte Zustands- und Strukturräume Zustände annehmen können, die nicht gewollt sind. Ähnlich wie bei einem Schachspiel, hat man zu Beginn eines Software - Entwicklungsprozesses noch alle Freiheitsgrade in der Systementwicklung zur Verfügung.
Mehr anzeigen

61 Mehr lesen

Empirical Research in Software Engineering

Empirical Research in Software Engineering

Experiments do not allow any agility during their execution due to their fixed design. The researcher must strictly follow the planned procedures and is not allowed to adapt the experiment during the conduction. Action research on the other side of the spectrum seems to be the most “agile” strategy. The researcher can use the feedback of the industry partners permanently and is allowed to adapt the study with respect to the feedback in a very agile way. A case study which is very similar to action research allows agile approaches as well. However, since the researcher not participates in the project, this strategy conforms less to agile principles. A survey has a fixed design and does therefore not allow to be very agile. Questions in a questionnaire are prepared before the study is conducted and cannot be changed during the execution. An interview in comparison can provide the possiblity of a certain flexibility if it is of the unstructured type and the questions are open, as we will describe in Section 4.3. However, although individual study strategies might not be that agile itself, it is possible to apply agile approaches by conducting a series of smaller studies. Thereby we can proceed iteratively and use the outcome and feedback of one study within the next. For example in our Context Mapper project, we could apply multiple case studies in an iterative manner. The conducted knowledge of one case study can be respected within the next one and thereby we would be able to introduce feedback loops.
Mehr anzeigen

21 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

Enrolling software agents in human organizations: the exploration of hybrid organizations within the socionics research program

Enrolling software agents in human organizations: the exploration of hybrid organizations within the socionics research program

While in the first area of socionical research sociological knowledge serves as a means of developing multiagent systems, in the second strand of socionics the means-end relation is in reverse order. Here, the aim is to employ multiagent systems as tools for the simulation of human society or parts thereof, and to use these simulations to improve sociological concepts and theories. The basic assumption is that multiagent systems are “more able to ‘mirror’ societies and groups of people than their alternatives” (Doran/Gilbert 1994: 10). One of the main advantages of multiagent simulation consists in the possibility to deal with the micro-macro gap, one of the central problems in social theory. Multiagent simulation allows “to cross the micro-macro bridge” (Drogoul/Ferber 1994: 6), that is to model interrelations between individual action and social structure. This opens up new opportunities of testing sociological hypotheses and may help to overcome some of the restrictions of previous work in the field of social simulation.
Mehr anzeigen

16 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

Explainable software systems

Explainable software systems

Abstract: Software and software-controlled technical sys- tems play an increasing role in our daily lives. In cyber- physical systems, which connect the physical and the dig- ital world, software does not only influence how we per- ceive and interact with our environment but software also makes decisions that influence our behavior. Therefore, the ability of software systems to explain their behavior and decisions will become an important property that will be crucial for their acceptance in our society. We call soft- ware systems with this ability explainable software sys- tems. In the past, we have worked on methods and tools to design explainable software systems. In this article, we highlight some of our work on how to design explain- able software systems. More specifically, we describe an ar- chitectural framework for designing self-explainable soft- ware systems, which is based on the MAPE-loop for self- adaptive systems. Afterward, we show that explainabil- ity is also important for tools that are used by engineers during the development of software systems. We show ex- amples from the area of requirements engineering where we use techniques from natural language processing and neural networks to help engineers comprehend the com- plex information structures embedded in system require- ments.
Mehr anzeigen

4 Mehr lesen

Visualisierung von Software-Evolutionsgraphen

Visualisierung von Software-Evolutionsgraphen

Zu Beginn eines Auftrags sollte ausf¨ uhrliche Planung und Recherche statt- finden. An dieser Stelle wird auch die Softwarearchitektur mit Hilfe von UML- Diagrammen geplant. Das reicht aber h¨ aufig nicht mehr aus, und sobald die Software eine Ver¨ anderung in ihrem Lebenszyklus durchmacht, sind diese Diagramme nicht mehr aktuell und man m¨ usste neue erstellen, um den aktu- ellen Stand korrekt und verst¨ andlich f¨ ur alle darstellen zu k¨ onnen. Es hat nur Vorteile f¨ ur das Projekt, wenn der Entwickler zu jedem Zeitpunkt die Archi- tektur des Ganzen im Blick behalten kann, an der das gesamte Team arbeitet und die mit dem Umfang der Software auch an Komplexit¨ at gewinnt. Auch neue Entwickler, die inmitten des Entwicklungsprozesses einsteigen, k¨ onnen so den aktuellen Stand, den Verlauf der Entwicklung und die Softwarearchi- tektur, an der sie arbeiten werden, erfassen.
Mehr anzeigen

30 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

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

Show all 4384 documents...