999 resultados para programming patterns
Resumo:
Ontologies are becoming an important mechanism to build information systems. Nevertheless, there is still no systematic approach to support the design of such systems using tools that are common to information systems developers. In this paper, we propose an approach for deriving object frameworks from domain ontologies and then we show the application of this approach in the software process domain.
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
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
Resumo:
COORDINSPECTOR is a Software Tool aiming at extracting the coordination layer of a software system. Such a reverse engineering process provides a clear view of the actually invoked services as well as the logic behind such invocations. The analysis process is based on program slicing techniques and the generation of, System Dependence Graphs and Coordination Dependence Graphs. The tool analyzes Common Intermediate Language (CIL), the native language of the Microsoft .Net Framework, thus making suitable for processing systems developed in any .Net Framework compilable language. COORDINSPECTOR generates graphical representations of the coordination layer together with business process orchestrations specified in WSBPEL 2.0
Resumo:
A large and growing amount of software systems rely on non-trivial coordination logic for making use of third party services or components. Therefore, it is of outmost importance to understand and capture rigorously this continuously growing layer of coordination as this will make easier not only the veri cation of such systems with respect to their original speci cations, but also maintenance, further development, testing, deployment and integration. This paper introduces a method based on several program analysis techniques (namely, dependence graphs, program slicing, and graph pattern analysis) to extract coordination logic from legacy systems source code. This process is driven by a series of pre-de ned coordination patterns and captured by a special purpose graph structure from which coordination speci cations can be generated in a number of di erent formalisms
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
Resumo:
The integration and composition of software systems requires a good architectural design phase to speed up communications between (remote) components. However, during implementation phase, the code to coordinate such components often ends up mixed in the main business code. This leads to maintenance problems, raising the need for, on the one hand, separating the coordination code from the business code, and on the other hand, providing mechanisms for analysis and comprehension of the architectural decisions once made. In this context our aim is at developing a domain-specific language, CoordL, to describe typical coordination patterns. From our point of view, coordination patterns are abstractions, in a graph form, over the composition of coordination statements from the system code. These patterns would allow us to identify, by means of pattern-based graph search strategies, the code responsible for the coordination of the several components in a system. The recovering and separation of the architectural decisions for a better comprehension of the software is the main purpose of this pattern language
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
Resumo:
Mortality due to chronic diseases has been increasing in all regions of Brazil with corresponding decreases in mortality from infectious diseases. The geographical variation in proportionate mortality for chronic diseases for 17 Brazilian state capitals for the year 1985 and their association with socio-economic variables and infectious disease was studied. Calculations were made of correlation coefficients of proportionate mortality for adults of 30 years or above due to ischaemic heart disease, stroke and cancer of the lung, the breast and stomach with 3 socio-economic variables, race, and mortality due to infectious disease. Linear regression analysis included as independent variables the % of illiteracy, % of whites, % of houses with piped water, mean income, age group, sex, and % of deaths caused by infectious disease. The dependent variables were the % of deaths due to each one of the chronic diseases studied by age-sex group. Chronic diseases were an important cause of death in all regions of Brazil. Ischaemic heart diseases, stroke and malignant neoplasms accounted for more than 34% of the mortality in each of the 17 capitals studied. Proportionate cause-specific mortality varied markedly among state capitals. Ranges were 6.3-19.5% for ischaemic heart diseases, 8.3-25.4% for stroke, 2.3-10.4% for infections and 12.2-21.5% for malignant neoplasm. Infectious disease mortality had the highest (p < 0.001) correlation with all the four socio-economic variables studied and ischaemic heart disease showed the second highest correlation (p < 0.05). Higher socio-economic level was related to a lower % of infectious diseases and a higher % of ischaemic heart diseases. Mortality due to breast cancer and stroke was not associated with socio-economic variables. Multivariate linear regression models explained 59% of the variance among state capitals for mortality due to ischaemic heart disease, 50% for stroke, 28% for lung cancer, 24% for breast cancer and 40% for stomach cancer. There were major differences in the proportionate mortality due to chronic diseases among the capitals which could not be accounted for by the social and environmental factors and by the mortality due to infectious disease.
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.
Resumo:
OBJECTIVE: To assess the behavior of induced abortion as a function of certain demographic variables, for the population of fertile women (15 to 49 years old) residing in the Vila Madalena subdistrict S. Paulo (Brazil). MATERIAL AND METHOD: Two population samples were selected. One sample, with 996 women, investigated the incidence of induced abortions during 1987, using the RRT. In the other, involving 1,004 women, the same information was detected through a conventional approach. In both samples, the induced abortion occurring during the reproductive life was recorded in direct fashion. Though this analysis refers only to information about past abortions, that is by 2,000 women -, it should be noted that it is exactly the RRT that lends credibility to the found or results given results. CONCLUSION: The analysis furnishes evidence showing that single women, young women between the ages of 15 and 19, women who have not had live births, women who have a number of children below the expected ideal, women who use contraceptive methods (especially inefficient ones) and women who do not have any restrictions as to abortion constitute the categories most inclined to resort to induced abortion. This grouping suggests the existence of interrelationships between categories, that is, each of these categories is probably composed primarily of the same women, those who are at the beginning of their reproductive lives.
Resumo:
This paper is on the problem of short-term hydro, scheduling, particularly concerning head-dependent cascaded hydro systems. We propose a novel mixed-integer quadratic programming approach, considering not only head-dependency, but also discontinuous operating regions and discharge ramping constraints. Thus, an enhanced short-term hydro scheduling is provided due to the more realistic modeling presented in this paper. Numerical results from two case studies, based on Portuguese cascaded hydro systems, illustrate the proficiency of the proposed approach.
Resumo:
OBJECTIVE: To assess the variation in Anopheles darlingi's biting activity compared to An. marajoara in the same locality and to biting activity data from other regions. METHODS: Using human bait, eight observations of the biting activity of An. darlingi and An. marajoara were carried out during 1999 and 2000 in the municipality of São Raimundo do Pirativa, state of Amapá, Brazil. Each observation consisted of three consecutive 13-hour collections, close to full moon. There were shifts of collectors in the observation points and nocturnal periods. RESULTS: An. darlingi revealed considerable plasticity of biting activity in contrast to An. marajoara, which showed well-defined crepuscular biting peaks. No significant correlation between density and biting activity was found, but a significant correlation existed between time and proportional crepuscular activity, indicating underlying ecological processes not yet understood. Two of the four available data sets having multiple observations at one locality showed considerable plasticity of this species' biting patterns as well. CONCLUSION: Intra-population variation of biting activity can be as significant as inter-population variation. Some implications in malaria vector control and specific studies are also discussed.
Resumo:
OBJECTIVE: To study patterns of alcohol consumption and prevalence of high-risk drinking. METHODS: A household survey was carried out in a sample of 2,302 adults in Salvador, Brazil. Cases of High-Risk Drinking (HRD) were defined as those subjects who referred daily or weekly binge drinking plus episodes of drunkenness and those who reported any use of alcoholic beverages but with frequent drunkenness (at least once a week). RESULTS: Fifty-six per cent of the sample acknowledged drinking alcoholic beverages. Overall consumption was significantly related with gender (male), marital status (single), migration (non-migrant), better educated (college level), and social class (upper). No significant differences were found regarding ethnicity, except for cachaça (Brazilian sugarcane liquor) and other distilled beverages. Overall 12-month prevalence of high-risk drinking was 7%, six times more prevalent among males than females (almost 13% compared to 2.4%). A positive association of HRD prevalence with education and social class was found. No overall relationship was found between ethnicity and HRD. Male gender and higher socioeconomic status were associated with increased odds of HRD. Two-way stratified analyses yielded consistent gender effects throughout all strata of independent variables. CONCLUSIONS: The findings suggest that social and cultural elements determine local patterns of alcohol-drinking behavior. Additional research on long-term and differential effects of gender, ethnicity, and social class on alcohol use and misuse is needed in order to explain their role as sources of social health inequities.
Resumo:
One of the most difficult problems that face researchers experimenting with complex systems in real world applications is the Facility Layout Design Problem. It relies with the design and location of production lines, machinery and equipment, inventory storage and shipping facilities. In this work it is intended to address this problem through the use of Constraint Logic Programming (CLP) technology. The use of Genetic Algorithms (GA) as optimisation technique in CLP environment is also an issue addressed. The approach aims the implementation of genetic algorithm operators following the CLP paradigm.