954 resultados para Socket Programming


Relevância:

10.00% 10.00%

Publicador:

Resumo:

When developing interactive applications, considering the correctness of graphical user interfaces (GUIs) code is essential. GUIs are critical components of today's software, and contemporary software tools do not provide enough support for ensuring GUIs' code quality. GUIsurfer, a GUI reverse engineering tool, enables evaluation of behavioral properties of user interfaces. It performs static analysis of GUI code, generating state machines that can help in the evaluation of interactive applications. This paper describes the design, software architecture, and the use of GUIsurfer through an example. The tool is easily re-targetable, and support is available to Java/Swing, and WxHaskell. The paper sets the ground for a generalization effort to consider rich internet applications. It explores the GWT web applications' user interface programming toolkit.

Relevância:

10.00% 10.00%

Publicador:

Resumo:

Over the last decade, software architecture emerged as a critical issue in Software Engineering. This encompassed a shift from traditional programming towards software development based on the deployment and assembly of independent components. The specification of both the overall systems structure and the interaction patterns between their components became a major concern for the working developer. Although a number of formalisms to express behaviour and to supply the indispensable calculational power to reason about designs, are available, the task of deriving architectural designs on top of popular component platforms has remained largely informal. This paper introduces a systematic approach to derive, from CCS behavioural specifications the corresponding architectural skeletons in the Microsoft .Net framework, in the form of executable C and Cω code. The prototyping process is fully supported by a specific tool developed in Haskell

Relevância:

10.00% 10.00%

Publicador:

Resumo:

Program slicing is a well known family of techniques used to identify code fragments which depend on or are depended upon specific program entities. They are particularly useful in the areas of reverse engineering, program understanding, testing and software maintenance. Most slicing methods, usually oriented towards the imperative or object paradigms, are based on some sort of graph structure representing program dependencies. Slicing techniques amount, therefore, to (sophisticated) graph transversal algorithms. This paper proposes a completely different approach to the slicing problem for functional programs. Instead of extracting program information to build an underlying dependencies’ structure, we resort to standard program calculation strategies, based on the so-called Bird-Meertens formalism. The slicing criterion is specified either as a projection or a hiding function which, once composed with the original program, leads to the identification of the intended slice. Going through a number of examples, the paper suggests this approach may be an interesting, even if not completely general, alternative to slicing functional programs

Relevância:

10.00% 10.00%

Publicador:

Resumo:

Program slicing is a well known family of techniques intended to identify and isolate code fragments which depend on, or are depended upon, specific program entities. This is particularly useful in the areas of reverse engineering, program understanding, testing and software maintenance. Most slicing methods, and corresponding tools, target either the imperative or the object oriented paradigms, where program slices are computed with respect to a variable or a program statement. Taking a complementary point of view, this paper focuses on the slicing of higher-order functional programs under a lazy evaluation strategy. A prototype of a Haskell slicer, built as proof-of-concept for these ideas, is also introduced

Relevância:

10.00% 10.00%

Publicador:

Resumo:

More and more current software systems rely on non trivial coordination logic for combining autonomous services typically running on different platforms and often owned by different organizations. Often, however, coordination data is deeply entangled in the code and, therefore, difficult to isolate and analyse separately. COORDINSPECTOR is a software tool which combines slicing and program analysis techniques to isolate all coordination elements from the source code of an existing application. Such a reverse engineering process provides a clear view of the actually invoked services as well as of the orchestration patterns which bind them together. The tool analyses Common Intermediate Language (CIL) code, the native language of Microsoft .Net Framework. Therefore, the scope of application of COORDINSPECTOR is quite large: potentially any piece of code developed in any of the programming languages which compiles to the .Net Framework. The tool generates graphical representations of the coordination layer together and identifies the underlying business process orchestrations, rendering them as Orc specifications

Relevância:

10.00% 10.00%

Publicador:

Resumo:

Current software development often relies on non-trivial coordination logic for combining autonomous services, eventually running on different platforms. As a rule, however, such a coordination layer is strongly woven within the application at source code level. Therefore, its precise identification becomes a major methodological (and technical) problem and a challenge to any program understanding or refactoring process. The approach introduced in this paper resorts to slicing techniques to extract coordination data from source code. Such data are captured in a specific dependency graph structure from which a coordination model can be recovered either in the form of an Orc specification or as a collection of code fragments corresponding to the identification of typical coordination patterns in the system. Tool support is also discussed

Relevância:

10.00% 10.00%

Publicador:

Resumo:

This paper proposes a wireless EEG acquisition platform based on Open Multimedia Architecture Platform (OMAP) embedded system. A high-impedance active dry electrode was tested for improving the scalp- electrode interface. It was used the sigma-delta ADS1298 analog-to-digital converter, and developed a “kernelspace” character driver to manage the communications between the converter unit and the OMAP’s ARM core. The acquired EEG signal data is processed by a “userspace” application, which accesses the driver’s memory, saves the data to a SD-card and transmits them through a wireless TCP/IP-socket to a PC. The electrodes were tested through the alpha wave replacement phenomenon. The experimental results presented the expected alpha rhythm (8-13 Hz) reactiveness to the eyes opening task. The driver spends about 725 μs to acquire and store the data samples. The application takes about 244 μs to get the data from the driver and 1.4 ms to save it in the SD-card. A WiFi throughput of 12.8Mbps was measured which results in a transmission time of 5 ms for 512 kb of data. The embedded system consumes about 200 mAh when wireless off and 400 mAh when it is on. The system exhibits a reliable performance to record EEG signals and transmit them wirelessly. Besides the microcontroller-based architectures, the proposed platform demonstrates that powerful ARM processors running embedded operating systems can be programmed with real-time constrains at the kernel level in order to control hardware, while maintaining their parallel processing abilities in high level software applications.

Relevância:

10.00% 10.00%

Publicador:

Resumo:

Over the last decade, software architecture emerged as a critical design step in Software Engineering. This encompassed a shift from traditional programming towards the deployment and assembly of independent components. The specification of the overall system structure, on the one hand, and of the interactions patterns between its components, on the other, became a major concern for the working developer. Although a number of formalisms to express behaviour and supply the indispensable calculational power to reason about designs, are available, the task of deriving architectural designs on top of popular component platforms has remained largely informal. This paper introduces a systematic approach to derive, from behavioural specifications written in Ccs, the corresponding architectural skeletons in the Microsoft .Net framework in the form of executable C] code. Such prototyping process is automated by means of a specific tool developed in Haskell

Relevância:

10.00% 10.00%

Publicador:

Resumo:

A presente dissertação de mestrado incide sobre o radiojornalismo português. Para a concretizar foi feito um estudo comparativo entre as três rádios de carácter informativo de Portugal: Antena 1, Rádio Renascença e TSF. No sentido de melhor clarificar esta tese, são analisadas as grelhas de programação do programa da manhã destas estações. Está igualmente patente neste trabalho uma consideração sobre a história destas três emissoras e são evidenciados marcos que representam um verdadeiro e notório contributo para o jornalismo de rádio feito em Portugal. Para tal foi usada uma metodologia em que se fez um levantamento – a cada cinco anos - de todos os programas da manhã desde há trinta anos até hoje, no sentido de compreender as suas evoluções e comparar as diferenças das apostas de cada uma das rádios. As conclusões deste estudo apontam para o facto de as manhãs da rádio serem um período onde as notícias têm grande importância, bem como um período em que se tratam assuntos relativos à sociedade. Na Antena 1 e na TSF a inclusão de programas como “Antena Aberta” ou “Fórum TSF” faz com que a temática da sociedade, que engloba um grande número de temas e assuntos sejam a predominante. Na Rádio Renascença, apesar do seu cariz informativo, o entretenimento tem mais destaque. Uma observação notória foi também o evoluir da programação de 1985 a 2015, onde houve alterações consideráveis, tais como o aumento dos espaços dedicados a notícias e naturalmente assuntos sociais, dado que em 1985 não existia nenhum programa de opinião pública. Estes espaços foram sem dúvida, algo que marcou e fez uma mudança de paradigma no radiojornalismo português.

Relevância:

10.00% 10.00%

Publicador:

Resumo:

In this text, we intend to explore the possibilities of sound manipulation in a context of augmented reality (AR) through the use of robots. We use the random behaviour of robots in a limited space for the real-time modulation of two sound characteristics: amplitude and frequency. We add the possibility of interaction with these robots, providing the user the opportunity to manipulate the physical interface by placing markers in the action space, which alter the behaviour of the robots and, consequently, the audible result produced. We intend to demonstrate through the agents, programming of random processes and direct manipulation of this application, that it is possible to generate empathy in interaction and obtain specific audible results, which would be difficult to otherwise reproduce due to the infinite loops that the interaction promotes.

Relevância:

10.00% 10.00%

Publicador:

Resumo:

In this paper, a mixed-integer nonlinear approach is proposed to support decision-making for a hydro power producer, considering a head-dependent hydro chain. The aim is to maximize the profit of the hydro power producer from selling energy into the electric market. As a new contribution to earlier studies, a risk aversion criterion is taken into account, as well as head-dependency. The volatility of the expected profit is limited through the conditional value-at-risk (CVaR). The proposed approach has been applied successfully to solve a case study based on one of the main Portuguese cascaded hydro systems.

Relevância:

10.00% 10.00%

Publicador:

Resumo:

In this paper, the development of bidding strategies is investigated for a wind farm owner. The optimization model is characterized by making the analysis of scenarios. The proposed approach allows evaluating alternative production strategies in order to submit bids to the electricity market with the goal of maximizing profits. The problem is formulated as a linear programming problem. An application to a case study is presented

Relevância:

10.00% 10.00%

Publicador:

Resumo:

This paper is on the problem of short-term hydro scheduling (STHS), particularly concerning head-dependent reservoirs under competitive environment. We propose a novel method, based on mixed-integer nonlinear programming (MINLP), for optimising power generation efficiency. This method considers hydroelectric power generation as a nonlinear function of water discharge and of the head. The main contribution of this paper is that discharge ramping constraints and start/stop of units are also considered, in order to obtain more realistic and feasible results. The proposed method has been applied successfully to solve two case studies based on Portuguese cascaded hydro systems, providing a higher profit at an acceptable computation time in comparison with classical optimisation methods based on mixed-integer linear programming (MILP).

Relevância:

10.00% 10.00%

Publicador:

Resumo:

This paper is on the problem of short-term hydro scheduling (STHS), particularly concerning a head-dependent hydro chain We propose a novel mixed-integer nonlinear programming (MINLP) approach, considering hydroelectric power generation as a nonlinear function of water discharge and of the head. As a new contribution to eat her studies, we model the on-off behavior of the hydro plants using integer variables, in order to avoid water discharges at forbidden areas Thus, an enhanced STHS is provided due to the more realistic modeling presented in this paper Our approach has been applied successfully to solve a test case based on one of the Portuguese cascaded hydro systems with a negligible computational time requirement.

Relevância:

10.00% 10.00%

Publicador:

Resumo:

O presente projecto tem como objectivo a disponibilização de uma plataforma de serviços para gestão e contabilização de tempo remunerável, através da marcação de horas de trabalho, férias e faltas (com ou sem justificação). Pretende-se a disponibilização de relatórios com base nesta informação e a possibilidade de análise automática dos dados, como por exemplo excesso de faltas e férias sobrepostas de trabalhadores. A ênfase do projecto está na disponibilização de uma arquitectura que facilite a inclusão destas funcionalidades. O projecto está implementado sobre a plataforma Google App Engine (i.e. GAE), de forma a disponibilizar uma solução sob o paradigma de Software as a Service, com garantia de disponibilidade e replicação de dados. A plataforma foi escolhida a partir da análise das principais plataformas cloud existentes: Google App Engine, Windows Azure e Amazon Web Services. Foram analisadas as características de cada plataforma, nomeadamente os modelos de programação, os modelos de dados disponibilizados, os serviços existentes e respectivos custos. A escolha da plataforma foi realizada com base nas suas características à data de iniciação do presente projecto. A solução está estruturada em camadas, com as seguintes componentes: interface da plataforma, lógica de negócio e lógica de acesso a dados. A interface disponibilizada está concebida com observação dos princípios arquitecturais REST, suportando dados nos formatos JSON e XML. A esta arquitectura base foi acrescentada uma componente de autorização, suportada em Spring-Security, sendo a autenticação delegada para os serviços Google Acounts. De forma a permitir o desacoplamento entre as várias camadas foi utilizado o padrão Dependency Injection. A utilização deste padrão reduz a dependência das tecnologias utilizadas nas diversas camadas. Foi implementado um protótipo, para a demonstração do trabalho realizado, que permite interagir com as funcionalidades do serviço implementadas, via pedidos AJAX. Neste protótipo tirou-se partido de várias bibliotecas javascript e padrões que simplificaram a sua realização, tal como o model-view-viewmodel através de data binding. Para dar suporte ao desenvolvimento do projecto foi adoptada uma abordagem de desenvolvimento ágil, baseada em Scrum, de forma a implementar os requisitos do sistema, expressos em user stories. De forma a garantir a qualidade da implementação do serviço foram realizados testes unitários, sendo também feita previamente a análise da funcionalidade e posteriormente produzida a documentação recorrendo a diagramas UML.