868 resultados para Communication between software components
Resumo:
The use of middleware technology in various types of systems, in order to abstract low-level details related to the distribution of application logic, is increasingly common. Among several systems that can be benefited from using these components, we highlight the distributed systems, where it is necessary to allow communications between software components located on different physical machines. An important issue related to the communication between distributed components is the provision of mechanisms for managing the quality of service. This work presents a metamodel for modeling middlewares based on components in order to provide to an application the abstraction of a communication between components involved in a data stream, regardless their location. Another feature of the metamodel is the possibility of self-adaptation related to the communication mechanism, either by updating the values of its configuration parameters, or by its replacement by another mechanism, in case of the restrictions of quality of service specified are not being guaranteed. In this respect, it is planned the monitoring of the communication state (application of techniques like feedback control loop), analyzing performance metrics related. The paradigm of Model Driven Development was used to generate the implementation of a middleware that will serve as proof of concept of the metamodel, and the configuration and reconfiguration policies related to the dynamic adaptation processes. In this sense was defined the metamodel associated to the process of a communication configuration. The MDD application also corresponds to the definition of the following transformations: the architectural model of the middleware in Java code, and the configuration model to XML
Resumo:
This paper is about the use of natural language to communicate with computers. Most researches that have pursued this goal consider only requests expressed in English. A way to facilitate the use of several languages in natural language systems is by using an interlingua. An interlingua is an intermediary representation for natural language information that can be processed by machines. We propose to convert natural language requests into an interlingua [universal networking language (UNL)] and to execute these requests using software components. In order to achieve this goal, we propose OntoMap, an ontology-based architecture to perform the semantic mapping between UNL sentences and software components. OntoMap also performs component search and retrieval based on semantic information formalized in ontologies and rules.
Resumo:
Large component-based systems are often built from many of the same components. As individual component-based software systems are developed, tested and maintained, these shared components are repeatedly manipulated. As a result there are often significant overlaps and synergies across and among the different test efforts of different component-based systems. However, in practice, testers of different systems rarely collaborate, taking a test-all-by-yourself approach. As a result, redundant effort is spent testing common components, and important information that could be used to improve testing quality is lost. The goal of this research is to demonstrate that, if done properly, testers of shared software components can save effort by avoiding redundant work, and can improve the test effectiveness for each component as well as for each component-based software system by using information obtained when testing across multiple components. To achieve this goal I have developed collaborative testing techniques and tools for developers and testers of component-based systems with shared components, applied the techniques to subject systems, and evaluated the cost and effectiveness of applying the techniques. The dissertation research is organized in three parts. First, I investigated current testing practices for component-based software systems to find the testing overlap and synergy we conjectured exists. Second, I designed and implemented infrastructure and related tools to facilitate communication and data sharing between testers. Third, I designed two testing processes to implement different collaborative testing algorithms and applied them to large actively developed software systems. This dissertation has shown the benefits of collaborative testing across component developers who share their components. With collaborative testing, researchers can design algorithms and tools to support collaboration processes, achieve better efficiency in testing configurations, and discover inter-component compatibility faults within a minimal time window after they are introduced.
Resumo:
Within the next few pages, I will try to give a wide description of the project that I have been doing for IK4-Ikerlan. For the last six months, I have been working in developing a socket-based application for Apple devices. These devices work under the iOS operative system, which is programmed in Objective-C, a language similar to C. Although I did not have the chance to develop this application for Apple TV, I was able to create an application for iPhone and another one for iPad. The only difference between both applications was the screen resolution, but we decided to make them separately, as it would be really hard to combine both resolutions, and wallpapers, everything in the same workspace. Finally, it is necessary to add that the main goal was not to create a new application for iOS, but to translate an Android application into iOS. To achieve this, it is required to translate Java code into Objective- C, which is the language used to develop applications for all kinds of Apple devices. Fortunately, there is a tool created by Google, which helped us with this exercise. This tool is called j2ObjC, and it is still being developed.
Resumo:
As more and more open-source software components become available on the internet we need automatic ways to label and compare them. For example, a developer who searches for reusable software must be able to quickly gain an understanding of retrieved components. This understanding cannot be gained at the level of source code due to the semantic gap between source code and the domain model. In this paper we present a lexical approach that uses the log-likelihood ratios of word frequencies to automatically provide labels for software components. We present a prototype implementation of our labeling/comparison algorithm and provide examples of its application. In particular, we apply the approach to detect trends in the evolution of a software system.
Resumo:
We present a quantitative experimental demonstration of solvent-mediated communication between noncontacting biopolymers. We show that changes in the activity of a solvent component brought about by a conformational change in one biopolymer can result in changes in the physical properties of a second noncontacting biopolymer present in solution. Specifically, we show that the release of protons on denaturation of a donor polymer (in this case, a four-stranded DNA tetraplex, iDNA) modulates the melting temperature of a noncontacting, acceptor polymer [in this case poly(A)]. In addition to such proton-mediated cross talk, we also demonstrate counterion-mediated cross talk between noncontacting biopolymers. Specifically, we show that counterion association/release on denaturation of native salmon sperm DNA (the donor polymer) can modulate the melting temperature of poly(dA)⋅poly(dT) (the acceptor polymer). Taken together, these two examples demonstrate how poly(A) and poly(dA)⋅poly(dT) can serve as molecular probes that report the pH and free salt concentrations in solution, respectively. Further, we demonstrate how such through-solvent dialogue between biopolymers that do not directly interact can be used to evaluate (in a model-free manner) association/dissociation reactions of solvent components (e.g., protons, sodium cations) with one of the two biopolymers. We propose that such through-solution dialogue is a general property of all biopolymers. As a result, such solvent-mediated cross talk should be considered when assessing reactions of multicomponent systems such as those that exist in essentially all biological processes.
Resumo:
This paper presents and validates a methodology for integrating reusable software components in diverse game engines. While conforming to the RAGE com-ponent-based architecture described elsewhere, the paper explains how the interac-tions and data exchange processes between a reusable software component and a game engine should be implemented for procuring seamless integration. To this end, a RAGE-compliant C# software component providing a difficulty adaptation routine was integrated with an exemplary strategic tile-based game “TileZero”. Implementa-tions in MonoGame, Unity and Xamarin, respectively, have demonstrated successful portability of the adaptation component. Also, portability across various delivery platforms (Windows desktop, iOS, Android, Windows Phone) was established. Thereby this study has established the validity of the RAGE architecture and its un-derlying interaction processes for the cross-platform and cross-game engine reuse of software components. The RAGE architecture thereby accommodates the large scale development and application of reusable software components for serious gaming.
Resumo:
Component software has many benefits, most notably increased software re-use; however, the component software process places heavy burdens on programming language technology, which modern object-oriented programming languages do not address. In particular, software components require specifications that are both sufficiently expressive and sufficiently abstract, and, where possible, these specifications should be checked formally by the programming language. This dissertation presents a programming language called Mentok that provides two novel programming language features enabling improved specification of stateful component roles. Negotiable interfaces are interface types extended with protocols, and allow specification of changing method availability, including some patterns of out-calls and re-entrance. Type layers are extensions to module signatures that allow specification of abstract control flow constraints through the interfaces of a component-based application. Development of Mentok's unique language features included creation of MentokC, the Mentok compiler, and formalization of key properties of Mentok in mini-languages called MentokP and MentokL.
Resumo:
Background: The aims of this study were to determine the documentation of pharmacotherapy optimization goals in the discharge letters of patients with the principal diagnosis of chronic heart failure. Methods: A retrospective practice audit of 212 patients discharged to the care of their local general practitioner from general medical units of a large tertiary hospital. Details of recommendations regarding ongoing pharmacological and non-pharmacological management were reviewed. The doses of medications on discharge were noted and whether they met current guidelines recommending titration of angiotensin-converting enzyme inhibitors and beta-blockers. Ongoing arrangements for specialist follow up were also reviewed. Results: The mean age of patients whose letters were reviewed was 78.4 years (standard deviation ± 8.6); 50% were men. Patients had an overall median of six comorbidities and eight regular medications on discharge. Mean length of stay for each admission was 6 days. Discharge letters were posted a median of 4 days after discharge, with 25% not posted at 10 days. No discharge letter was sent in 9.4% (20) of the cases. Only six (2.8%) letters had any recommendations regarding future titration of angiotensin-converting enzyme inhibitors and 6.6% (14) for beta-blockers. Recommendations for future non-pharmacological management, for example, diuretic action plans, regular weight monitoring and exercise plans were not found in the letters in this audit. Conclusion: Hospital discharge is an opportunity to communicate management plans for treatment optimization effectively, and while this opportunity is spurned, implementation gaps in the management of cardiac failure will probably remain.
Resumo:
The goal of this project was to develop a mobile application for the iOS platform, that would support the partner of this project, the Brisbane City Council, in stronger engage citizens in participating in urban planning and development projects. The resulting application is an extended version of FixVegas, a system that allows citizens to report maintenance request to the Brisbane City Council through their smartphone. The new version of the system makes all incoming requests publicly available within the application, allows users to support, comment or disapprove of these. As an addition, the concept of the idea has been introduced. Citizens can submit suggestions for improving the city to the municipality, discuss them with other fellow citizens and, ideally, also with Council representatives. The city officials as well are provided with the ability of publishing development project as an idea and let citizens deliberate it. This way, bidirectional communication between these two parties is created. A web interface complements the iPhone application. The system has been developed after the principle of User Centered Design, by assessing user needs, creating and evaluating prototypes and conducting a user study. The study showed that FixVegas2 has been perceived as an enhancement compared to the previous version, and that the idea concept has been received on a positive note. Indepth questions, such as the influence the system could have on community dynamics or the public participation in urban planning projects could only hardly investigated. However, these findings can be achieved by the alternative study designs that have been proposed.