900 resultados para Component-based software engineering


Relevância:

100.00% 100.00%

Publicador:

Resumo:

The Java programming language supports concurrency. Concurrent programs are hard to test due to their inherent non-determinism. This paper presents a classification of concurrency failures that is based on a model of Java concurrency. The model and failure classification is used to justify coverage of synchronization primitives of concurrent components. This is achieved by constructing concurrency flow graphs for each method call. A producer-consumer monitor is used to demonstrate how the approach can be used to measure coverage of concurrency primitives and thereby assist in determining test sequences for deterministic execution.

Relevância:

100.00% 100.00%

Publicador:

Resumo:

Achieving consistency between a specification and its implementation is an important part of software development. In this paper, we present a method for generating passive test oracles that act as self-checking implementations. The implementation is verified using an animation tool to check that the behavior of the implementation matches the behavior of the specification. We discuss how to integrate this method into a framework developed for systematically animating specifications, which means a tester can significantly reduce testing time and effort by reusing work products from the animation. One such work product is a testgraph: a directed graph that partially models the states and transitions of the specification. Testgraphs are used to generate sequences for animation, and during testing, to execute these same sequences on the implementation.

Relevância:

100.00% 100.00%

Publicador:

Relevância:

100.00% 100.00%

Publicador:

Resumo:

Effective comprehension of complex software systems requires understanding of both the individual documents that represent software and the complex relationships that exist within and between documents. Relationships of all kinds play a vital role in a software engineer's comprehension of, and navigation within and between, software documents. User-determined relationships have the additional role of enabling the engineer to create and maintain relational documentation that cannot be generated by tools or derived from other relationships. We argue that for a software development environment to effectively support the understanding of complex software systems, relational navigation must be supported at both the document-focused (intra-document) and relation-focused (inter-document) levels. The need for a relation-focused approach is highlighted by an evaluation of an existing document-focused relational interface. We conclude with the requirements for a relation-focused approach to relational navigation. These requirements focus on the user's perspective when interacting with a collection of related documents. We define the requirements for a software development environment that effectively supports the understanding of the software documents and relationships that define a complex software system.

Relevância:

100.00% 100.00%

Publicador:

Resumo:

Este estudo teve como objetivo principal analisar a relação entre a Liderança Transformacional, a Conversão do Conhecimento e a Eficácia Organizacional. Foram considerados como pressupostos teóricos conceitos consolidados sobre os temas desta relação, além de recentes pesquisas já realizadas em outros países e contextos organizacionais. Com base nisto identificou-se potencial estudo de um modelo que relacionasse estes três conceitos. Para tal considera-se que as organizações que buscam atingir Vantagem Competitiva e incorporam a Knowledge-Based View possam conquistar diferenciação frente a seus concorrentes. Nesse contexto o conhecimento ganha maior destaque e papel protagonista nestas organizações. Dessa forma criar conhecimento através de seus colaboradores, passa a ser um dos desafios dessas organizações ao passo que sugere melhoria de seus indicadores Econômicos, Sociais, Sistêmicos e Políticos, o que se define por Eficácia Organizacional. Portanto os modos de conversão do conhecimento nas organizações, demonstram relevância, uma vez que se cria e se converte conhecimentos através da interação entre o conhecimento existente de seus colaboradores. Essa conversão do conhecimento ou modelo SECI possui quatro modos que são a Socialização, Externalização, Combinação e Internalização. Nessa perspectiva a liderança nas organizações apresenta-se como um elemento capaz de influenciar seus colaboradores, propiciando maior dinâmica ao modelo SECI de conversão do conhecimento. Se identifica então na liderança do tipo Transformacional, características que possam influenciar colaboradores e entende-se que esta relação entre a Liderança Transformacional e a Conversão do Conhecimento possa ter influência positiva nos indicadores da Eficácia Organizacional. Dessa forma esta pesquisa buscou analisar um modelo que explorasse essa relação entre a liderança do tipo Transformacional, a Conversão do Conhecimento (SECI) e a Eficácia Organizacional. Esta pesquisa teve o caráter quantitativo com coleta de dados através do método survey, obtendo um total de 230 respondentes válidos de diferentes organizações. O instrumento de coleta de dados foi composto por afirmativas relativas ao modelo de relação pesquisado com um total de 44 itens. O perfil de respondentes concentrou-se entre 30 e 39 anos de idade, com a predominância de organizações privadas e de departamentos de TI/Telecom, Docência e Recursos Humanos respectivamente. O tratamento dos dados foi através da Análise Fatorial Exploratória e Modelagem de Equações Estruturais via Partial Least Square Path Modeling (PLS-PM). Como resultado da análise desta pesquisa, as hipóteses puderam ser confirmadas, concluindo que a Liderança Transformacional apresenta influência positiva nos modos de Conversão do Conhecimento e que; a Conversão do Conhecimento influencia positivamente na Eficácia Organizacional. Ainda, concluiu-se que a percepção entre os respondentes não apresenta resultado diferente sobre o modelo desta pesquisa entre quem possui ou não função de liderança.

Relevância:

100.00% 100.00%

Publicador:

Resumo:

This chapter begins by reviewing the history of software engineering as a profession, especially the so-called software crisis and responses to it, to help focus on what it is that software engineers do. This leads into a discussion of the areas in software engineering that are problematic as a basis for considering knowledge management issues. Some of the previous work on knowledge management in software engineering is then examined, much of it not actually going under a knowledge management title, but rather “learning” or “expertise”. The chapter goes on to consider the potential for knowledge management in software engineering and the different types of knowledge management solutions and strategies that might be adopted, and it touches on the crucial importance of cultural issues. It concludes with a list of challenges that knowledge management in software engineering needs to address.

Relevância:

100.00% 100.00%

Publicador:

Resumo:

Simulation modelling has been used for many years in the manufacturing sector but has now become a mainstream tool in business situations. This is partly because of the popularity of business process re-engineering (BPR) and other process based improvement methods that use simulation to help analyse changes in process design. This textbook includes case studies in both manufacturing and service situations to demonstrate the usefulness of the approach. A further reason for the increasing popularity of the technique is the development of business orientated and user-friendly Windows-based software. This text provides a guide to the use of ARENA, SIMUL8 and WITNESS simulation software systems that are widely used in industry and available to students. Overall this text provides a practical guide to building and implementing the results from a simulation model. All the steps in a typical simulation study are covered including data collection, input data modelling and experimentation.

Relevância:

100.00% 100.00%

Publicador:

Resumo:

Using current software engineering technology, the robustness required for safety critical software is not assurable. However, different approaches are possible which can help to assure software robustness to some extent. For achieving high reliability software, methods should be adopted which avoid introducing faults (fault avoidance); then testing should be carried out to identify any faults which persist (error removal). Finally, techniques should be used which allow any undetected faults to be tolerated (fault tolerance). The verification of correctness in system design specification and performance analysis of the model, are the basic issues in concurrent systems. In this context, modeling distributed concurrent software is one of the most important activities in the software life cycle, and communication analysis is a primary consideration to achieve reliability and safety. By and large fault avoidance requires human analysis which is error prone; by reducing human involvement in the tedious aspect of modelling and analysis of the software it is hoped that fewer faults will persist into its implementation in the real-time environment. The Occam language supports concurrent programming and is a language where interprocess interaction takes place by communications. This may lead to deadlock due to communication failure. Proper systematic methods must be adopted in the design of concurrent software for distributed computing systems if the communication structure is to be free of pathologies, such as deadlock. The objective of this thesis is to provide a design environment which ensures that processes are free from deadlock. A software tool was designed and used to facilitate the production of fault-tolerant software for distributed concurrent systems. Where Occam is used as a design language then state space methods, such as Petri-nets, can be used in analysis and simulation to determine the dynamic behaviour of the software, and to identify structures which may be prone to deadlock so that they may be eliminated from the design before the program is ever run. This design software tool consists of two parts. One takes an input program and translates it into a mathematical model (Petri-net), which is used for modeling and analysis of the concurrent software. The second part is the Petri-net simulator that takes the translated program as its input and starts simulation to generate the reachability tree. The tree identifies `deadlock potential' which the user can explore further. Finally, the software tool has been applied to a number of Occam programs. Two examples were taken to show how the tool works in the early design phase for fault prevention before the program is ever run.

Relevância:

100.00% 100.00%

Publicador:

Resumo:

Conventional structured methods of software engineering are often based on the use of functional decomposition coupled with the Waterfall development process model. This approach is argued to be inadequate for coping with the evolutionary nature of large software systems. Alternative development paradigms, including the operational paradigm and the transformational paradigm, have been proposed to address the inadequacies of this conventional view of software developement, and these are reviewed. JSD is presented as an example of an operational approach to software engineering, and is contrasted with other well documented examples. The thesis shows how aspects of JSD can be characterised with reference to formal language theory and automata theory. In particular, it is noted that Jackson structure diagrams are equivalent to regular expressions and can be thought of as specifying corresponding finite automata. The thesis discusses the automatic transformation of structure diagrams into finite automata using an algorithm adapted from compiler theory, and then extends the technique to deal with areas of JSD which are not strictly formalisable in terms of regular languages. In particular, an elegant and novel method for dealing with so called recognition (or parsing) difficulties is described,. Various applications of the extended technique are described. They include a new method of automatically implementing the dismemberment transformation; an efficient way of implementing inversion in languages lacking a goto-statement; and a new in-the-large implementation strategy.

Relevância:

100.00% 100.00%

Publicador:

Resumo:

The success of the Semantic Web, as the next generation of Web technology, can have profound impact on the environment for formal software development. It allows both the software engineers and machines to understand the content of formal models and supports more effective software design in terms of understanding, sharing and reusing in a distributed manner. To realise the full potential of the Semantic Web in formal software development, effectively creating proper semantic metadata for formal software models and their related software artefacts is crucial. In this paper, a methodology with tool support is proposed to automatically derive ontological metadata from formal software models and semantically describe them.