966 resultados para C (Programming Language)
Resumo:
In the context of computer numerical control (CNC) and computer aided manufacturing (CAM), the capabilities of programming languages such as symbolic and intuitive programming, program portability and geometrical portfolio have special importance -- They allow to save time and to avoid errors during part programming and permit code re-usage -- Our updated literature review indicates that the current state of art presents voids in parametric programming, program portability and programming flexibility -- In response to this situation, this article presents a compiler implementation for EGCL (Extended G-code Language), a new, enriched CNC programming language which allows the use of descriptive variable names, geometrical functions and flow-control statements (if-then-else, while) -- Our compiler produces low-level generic, elementary ISO-compliant Gcode, thus allowing for flexibility in the choice of the executing CNC machine and in portability -- Our results show that readable variable names and flow control statements allow a simplified and intuitive part programming and permit re-usage of the programs -- Future work includes allowing the programmer to define own functions in terms of EGCL, in contrast to the current status of having them as library built-in functions
Resumo:
In this work we developed a computer simulation program for physics porous structures based on programming language C + + using a Geforce 9600 GT with the PhysX chip, originally developed for video games. With this tool, the ability of physical interaction between simulated objects is enlarged, allowing to simulate a porous structure, for example, reservoir rocks and structures with high density. The initial procedure for developing the simulation is the construction of porous cubic structure consisting of spheres with a single size and with varying sizes. In addition, structures can also be simulated with various volume fractions. The results presented are divided into two parts: first, the ball shall be deemed as solid grains, ie the matrix phase represents the porosity, the second, the spheres are considered as pores. In this case the matrix phase represents the solid phase. The simulations in both cases are the same, but the simulated structures are intrinsically different. To validate the results presented by the program, simulations were performed by varying the amount of grain, the grain size distribution and void fraction in the structure. All results showed statistically reliable and consistent with those presented in the literature. The mean values and distributions of stereological parameters measured, such as intercept linear section of perimeter area, sectional area and mean free path are in agreement with the results obtained in the literature for the structures simulated. The results may help the understanding of real structures.
Resumo:
Report published in the Proceedings of the National Conference on "Education and Research in the Information Society", Plovdiv, May, 2016
Resumo:
Code patterns, including programming patterns and design patterns, are good references for programming language feature improvement and software re-engineering. However, to our knowledge, no existing research has attempted to detect code patterns based on code clone detection technology. In this study, we build upon the previous work and propose to detect and analyze code patterns from a collection of open source projects using NiPAT technology. Because design patterns are most closely associated with object-oriented languages, we choose Java and Python projects to conduct our study. The tool we use for detecting patterns is NiPAT, a pattern detecting tool originally developed for the TXL programming language based on the NiCad clone detector. We extend NiPAT for the Java and Python programming languages. Then, we try to identify all the patterns from the pattern report and classify them into several different categories. In the end of the study, we analyze all the patterns and compare the differences between Java and Python patterns.
Resumo:
The refinement calculus provides a framework for the stepwise development of imperative programs from specifications. In this paper we study a refinement calculus for deriving logic programs. Dealing with logic programs rather than imperative programs has the dual advantages that, due to the expressive power of logic programs, the final program is closer to the original specification, and each refinement step can achieve more. Together these reduce the overall number of derivation steps. We present a logic programming language extended with specification constructs (including general predicates, assertions, and types and invariants) to form a wide-spectrum language. General predicates allow non-executable properties to be included in specifications. Assertions, types and invariants make assumptions about the intended inputs of a procedure explicit, and can be used during refinement to optimize the constructed logic program. We provide a semantics for the extended logic programming language and derive a set of refinement laws. Finally we apply these to an example derivation.
Resumo:
Existing refinement calculi provide frameworks for the stepwise development of imperative programs from specifications. This paper presents a refinement calculus for deriving logic programs. The calculus contains a wide-spectrum logic programming language, including executable constructs such as sequential conjunction, disjunction, and existential quantification, as well as specification constructs such as general predicates, assumptions and universal quantification. A declarative semantics is defined for this wide-spectrum language based on executions. Executions are partial functions from states to states, where a state is represented as a set of bindings. The semantics is used to define the meaning of programs and specifications, including parameters and recursion. To complete the calculus, a notion of correctness-preserving refinement over programs in the wide-spectrum language is defined and refinement laws for developing programs are introduced. The refinement calculus is illustrated using example derivations and prototype tool support is discussed.
Resumo:
In this paper we describe a distributed object oriented logic programming language in which an object is a collection of threads deductively accessing and updating a shared logic program. The key features of the language, such as static and dynamic object methods and multiple inheritance, are illustrated through a series of small examples. We show how we can implement object servers, allowing remote spawning of objects, which we can use as staging posts for mobile agents. We give as an example an information gathering mobile agent that can be queried about the information it has so far gathered whilst it is gathering new information. Finally we define a class of co-operative reasoning agents that can do resource bounded inference for full first order predicate logic, handling multiple queries and information updates concurrently. We believe that the combination of the concurrent OO and the LP programming paradigms produces a powerful tool for quickly implementing rational multi-agent applications on the internet.
Resumo:
Exploratory factor analysis is a widely used statistical technique in the social sciences. It attempts to identify underlying factors that explain the pattern of correlations within a set of observed variables. A statistical software package is needed to perform the calcula- tions. However, there are some limitations with popular statistical software packages, like SPSS. The R programming language is a free software package for statistical and graphical computing. It o ers many packages written by contributors from all over the world and programming resources that allow it to overcome the dialog limitations of SPSS. This paper o ers an SPSS dialog written in the R programming language with the help of some packages, so that researchers with little or no knowledge in programming, or those who are accustomed to making their calculations based on statistical dialogs, have more options when applying factor analysis to their data and hence can adopt a better approach when dealing with ordinal, Likert-type data.
Resumo:
O presente trabalho teve como principal objectivo o desenvolvimento de um analisador de vibraes de dois canais baseado em computador, para a realizao de diagnstico no mbito do controlo de condio de mquinas. Foi desenvolvida uma aplicao num computador comum, no software LabVIEW, que atravs de transdutores de acelerao do tipo MEMS conectados via USB, faz a recolha de dados de vibrao e procede ao seu processamento e apresentao ao utilizador. As ferramentas utilizadas para o processamento de dados so ferramentas comuns encontradas em vrios analisadores de vibraes disponveis no mercado. Estas podem ser: grficos de espectro de frequncia, sinal no tempo, cascata ou valores de nvel global de vibrao, entre outras. Apesar do analisador desenvolvido no apresentar inovao nas ferramentas de anlise adoptadas, este pretende ser distinguido pelo baixo custo, simplicidade e carcter didctico. Este trabalho vem evidenciar as vantagens, desvantagens e potencialidades de um analisador desta natureza. So tiradas algumas concluses quanto sua capacidade de diagnstico de avarias, capacidades como ferramenta didctica, sensores utilizados e linguagem de programao escolhida. Como concluses principais, o trabalho revela que os sensores escolhidos no so os indicados para efectuar o diagnstico de avarias em ambiente industrial, contudo so ideais para tornar este analisador numa boa ferramenta didctica e de treino.
Resumo:
Over time, XML markup language has acquired a considerable importance in applications development, standards definition and in the representation of large volumes of data, such as databases. Today, processing XML documents in a short period of time is a critical activity in a large range of applications, which imposes choosing the most appropriate mechanism to parse XML documents quickly and efficiently. When using a programming language for XML processing, such as Java, it becomes necessary to use effective mechanisms, e.g. APIs, which allow reading and processing of large documents in appropriated manners. This paper presents a performance study of the main existing Java APIs that deal with XML documents, in order to identify the most suitable one for processing large XML files
Resumo:
Over time, XML markup language has acquired a considerable importance in applications development, standards definition and in the representation of large volumes of data, such as databases. Today, processing XML documents in a short period of time is a critical activity in a large range of applications, which imposes choosing the most appropriate mechanism to parse XML documents quickly and efficiently. When using a programming language for XML processing, such as Java, it becomes necessary to use effective mechanisms, e.g. APIs, which allow reading and processing of large documents in appropriated manners. This paper presents a performance study of the main existing Java APIs that deal with XML documents, in order to identify the most suitable one for processing large XML files.
Resumo:
Knowledge is central to the modern economy and society. Indeed, the knowledge society has transformed the concept of knowledge and is more and more aware of the need to overcome the lack of knowledge when has to make options or address its problems and dilemmas. Ones knowledge is less based on exact facts and more on hypotheses, perceptions or indications. Even when we use new computational artefacts and novel methodologies for problem solving, like the use of Group Decision Support Systems (GDSSs), the question of incomplete information is in most of the situations marginalized. On the other hand, common sense tells us that when a decision is made it is impossible to have a perception of all the information involved and the nature of its intrinsic quality. Therefore, something has to be made in terms of the information available and the process of its evaluation. It is under this framework that a Multi-valued Extended Logic Programming language will be used for knowledge representation and reasoning, leading to a model that embodies the Quality-of-Information (QoI) and its quantification, along the several stages of the decision-making process. In this way, it is possible to provide a measure of the value of the QoI that supports the decision itself. This model will be here presented in the context of a GDSS for VirtualECare, a system aimed at sustaining online healthcare services.
Resumo:
Dissertao de natureza cientfica para obteno do grau de Mestre em Engenharia Civil
Resumo:
Os laboratrios de experimentao remota esto normalmente associados a tecnologias ou solues proprietrias, as quais restringem a sua utilizao a determinadas plataformas e obrigam ao uso de software especfico no lado do cliente. O ISEP possui um laboratrio de experimentao remota, baseado em instrumentao virtual, usado no apoio ao ensino da electrnica e construdo sobre uma plataforma NIELVIS da National Instruments. O software de controlo da plataforma recorre linguagem grfica de programao LabVIEW. Esta uma ferramenta desenvolvida pela National Instruments que facilita o desenvolvimento de aplicaes de sistemas de experimentao remota, mas que possui vrias limitaes, nomeadamente a necessidade de instalao do lado do cliente de um plug-in, cuja disponibilidade se encontra limitada a determinadas verses de sistemas operativos e de Web Browsers. A experincia anterior demonstrou que estas questes limitam o nmero de clientes com possibilidade de acesso ao laboratrio remoto, para alm de, em alguns casos, se ter verificado no ser transparente a sua instalao e utilizao. Neste contexto, o trabalho de investigao consistiu no desenvolvimento de uma soluo que permite a gerao de interfaces que possibilitam o controlo remoto do sistema implementado, e que, ao mesmo tempo, so independentes da plataforma usada pelo cliente.
Resumo:
Este trabalho uma parte do tema global Suporte Computao Paralela e Distribuda em Java, tambm tema da tese de Daniel Barciela no mestrado de Engenharia Informtica do Instituto Superior de Engenharia do Porto. O seu objetivo principal consiste na definio/criao da interface com o programador, assim como tambm abrange a forma como os ns comunicam e cooperam entre si para a execuo de determinadas tarefas, de modo a atingirem um nico objetivo global. No mbito desta dissertao foi realizado um estudo prvio relativamente aos modelos tericos referentes computao paralela, assim como tambm foram analisadas linguagens e frameworks que fornecem suporte a este mesmo tipo de computao. Este estudo teve como principal objetivo a anlise da forma como estes modelos e linguagens permitem ao programador expressar o processamento paralelo no desenvolvimento das aplicaes. Como resultado desta dissertao surgiu a framework denominada Distributed Parallel Framework for Java (DPF4j), cujo objetivo principal fornecer aos programadores o suporte para o desenvolvimento de aplicaes paralelas e distribudas. Esta framework foi desenvolvida na linguagem Java. Esta dissertao contempla a parte referente interface de programao e a toda a comunicao entre ns cooperantes da framework DPF4j. Por fim, foi demonstrado atravs dos testes realizados que a DPF4j, apesar de ser ainda um prottipo, j demonstra ter uma performance superior a outras frameworks e linguagens que possuem os mesmos objetivos.