944 resultados para Programming languages (Electronic computers) - Semantics
Resumo:
En l’actualitat, els sistemes electrònics de processament de dades són cada cop més significatius dins del sector industrial. Són moltes les necessitats que sorgeixen en el món dels sistemes d’autentificació, de l’electrònica aeronàutica, d’equips d’emmagatzemament de dades, de telecomunicacions, etc. Aquestes necessitats tecnològiques exigeixen ser controlades per un sistema fiable, robust, totalment dependent amb els esdeveniments externs i que compleixi correctament les restriccions temporals imposades per tal de que realitzi el seu propòsit d’una manera eficient. Aquí és on entren en joc els sistemes encastats en temps real, els quals ofereixen una gran fiabilitat, disponibilitat, una ràpida resposta als esdeveniments externs del sistema, una alta garantia de funcionament i una àmplia possibilitat d’aplicacions. Aquest projecte està pensat per a fer una introducció al món dels sistemes encastats, com també explicar el funcionament del sistema operatiu en temps real FreeRTOS; el qual utilitza com a mètode de programació l’ús de tasques independents entre elles. Donarem una visió de les seves característiques de funcionament, com organitza tasques mitjançant un scheduler i uns exemples per a poder dissenyar-hi aplicacions.
Resumo:
En els últims anys, la popularitat de les xarxes sensefils (WIFI) ha anat en augment a un ritme incansable. Des de petits aparells instal•lats a les cases amb aquesta tecnologia com a complement dels routers d’accés a internet instal•lats per diverses companyies, fins a empreses fent petits desplegaments per comunicar entre si les seves seus. Al marge d’aquests escenaris, s’ha produït un fenomen social d’acolliment d’aquesta tecnologia a nivell mundial, en forma del que coneixem com a xarxes ciutadanes / xarxes lliures / xarxes socials. Aquestes xarxes han estat possibles gràcies a diverses raons que han fet assequible a col•lectius de persones, tant els aparells com els coneixements necessaris per dur a terme aquestes actuacions. Dintre d’aquest marc, al Bages, concretament a Manresa, es va començar a desenvolupar una d’aquestes xarxes. Les decisions d’aquesta xarxa d’utilitzar exclusivament hardware i software de codi obert, i determinats aspectes tècnics de la xarxa, ha comportat que la xarxa fos incompatible amb algunes de les aplicacions de gestió de xarxes existents desenvolupades per comunicats com gufi.net a Osona. És per això que per garantir el creixement, la supervivència i l’èxit d’aquesta xarxa en el temps, és indispensable poder comptar amb una eina de gestió que s’adigui a les característiques de GuifiBages. L’objectiu principal d’aquest treball és dotar a la xarxa GuifiBages de les eines necessàries per poder gestionar tota la informació referent a l’estructura de la seva xarxa, tant per facilitar l’accés a nous usuaris sense molts coneixements tècnics, com per facilitar nous desplegaments / reparacions / modificacions de la xarxa d’una manera automàtica. Com a conclusió d’aquest treball, podem afirmar que les avantatges que proporciones tecnologies com Plone, faciliten enormement la creació d’aplicacions de gestió de continguts en entorn web. Alhora, l’ús de noves tècniques de programació com AJAX o recursos com els que ofereix Google, permeten desenvolupar aplicacions web que no tenen res a envejar al software tradicional. D’altra banda, voldríem destacar l’ús exclusiu de programari lliure tant en els paquets de software necessaris pel desenvolupament, com en el sistema operatiu i programes dels ordinadors on s’ha dut a terme, demostrant que es poden desenvolupar sistemes de qualitat sense dependre de programari privatiu.
Resumo:
El llum electric és un tipus d’energia amb la que s’il•lumina tot el món i s’utilitza tant per a il•luminar la nit com per a disposar de llum addicional durant el dia. L’energia es pren directament de la xarxa de subministrament elèctric i permet encendre tot tipus de focus i bombetes. Actualment la necessitat de controlar la intensitat lumínica de focus és de gran utilitat i es poden veure exemples en escenaris de teatres, concerts musicals, domòtica bàsica a vivendes, botigues, restaurants, etc. on s’incorporen aparells òptims per aquest control. Aspectes com la programació d’encesa, apagat i intensitat desitjada de focus a una hora convinguda facilita el fet de fer-ho manualment i disposar de més temps propi. L’objectiu principal d’aquest treball és dissenyar i construir un regulador de llum controlat per ordinador capac de regular la intensitat lumínica de 8 focus independentment l’un de l’altre. El control de regulació s’efectua mitjancant un programa informàtic compatible amb ordinadors que incorporin el sistema operatiu Windows i és programable en el temps permetent seleccionar la intensitat desitjada a diferents hores del dia seleccionat. Com a conclusions es pot destacar un estalvi energètic al regular la intensitat dels focus evitant així la permanent connexio a una tensió màxima de 230 VAC i la oportunitat de construir un regulador de llum amb els documents subministrats.
Resumo:
En la societat en què vivim cada vegada agafen més importància les pàgines web, ja que és una eina d’informació molt útil i ràpida de consultar. Per això, no s’entén que una activitat empresarial sigui del tipus que sigui, no tingui representació a la xarxa. No és necessari que l’activitat en qüestió hagi de vendre productes a través d’Internet, sinó que simplement aquesta representació pot ajudar a donar a conèixer l’empresa i a ampliar la cartera de clients. De la mateixa manera, els dispositius mòbils també s’estan convertint en una eina important en la societat d’avui en dia i una bona aplicació pot aportar-te un avantatge en moltes de les feines diàries de les persones. D’aquestes idees sorgeix el projecte de fer la web i l’aplicació pel centre de fisioteràpia Fisioripoll. La web serviria per tenir un lloc a la xarxa on donar-se a conèixer i poder captar nous clients, i l’aplicació funcionaria com a eina pel propi centre, seria una espècie d’agenda electrònica per saber les hores que tens reservades els pròxims dies. Per aconseguir un bon funcionament de la web, s’ha demanat que la pàgina sigui administrable en els seus continguts. És a dir, que els propis gestors del centre puguin canviar els texts, les imatges dels diferents apartats i gestionar les reserves dels clients. En canvi, l’aplicació serà només una eina de consulta i no s’hauria de gestionar res. Per tal de dur a terme aquesta web s’ha tingut en compte utilitzar eines de programació de distribució lliure com és el llenguatge PHP, la base de dades MySQL, jQuery, el framework Phonegap per tal de poder construir una web i una aplicació amb cost de programari nul.
Resumo:
Este artículo trata de la aplicación de las competencias básicas en el currículum de Educación Primaria. El objetivo que persigue es ofrecer algunas estrategias para ayudar a los maestros a integrar las competencias básicas en los métodos de programación y evaluación. Con este fin, y para prever las posibles dificultades en la implementación de las competencias básicas, en la primera parte del artículo se analiza la situación actual a partir de la lectura de diversos documentos legales vigentes. A continuación, en la segunda parte del artículo se aportan algunas herramientas para facilitar esta integración desde las áreas de lengua y de matemáticas. Realizamos esta aproximación desde la didáctica de la lengua y de las matemáticas por su carácter instrumental para la adquisición de otros conocimientos
Resumo:
L’objectiu d’aquest projecte és desenvolupar una aplicació per a mòbils Android que permeti visualitzar missatges curts en un monitor d’ordinador o TV. Els missatges es gestionaran a partir d’una aplicació de mòbil que inclourà la generació, gestió i transmissió dels missatges al monitor
Resumo:
Es tracta d’un projecte d’investigació i de gestió, en el qual s’intentaran explotar totes les possibilitats dels Sistemes Operatius mòbils, mitjançant l’estudi, desenvolupament i implementació d’un joc multi-jugador per dispositius Android. S’analitzaran les necessitats i funcionalitats que ha d’oferir la meva aplicació/joc i s’implementaran mitjançant diverses eines i/o llibreries per tal de resoldre-les. Es realitzarà una recerca i anàlisi d’aquestes eines, dels avantatges i inconvenients subjacents, per tal de prendre la decisió més optima enquadrada les necessitats i objectius del projecte, tenint en compte també seu disseny de la nostra aplicació i finalment proper tal de procedir la seva implementació, sempre regint-me per les possibilitats comunicatives que gaudeixen aquest tipus de dispositius
Resumo:
L'objectiu del projecte és el desenvolupament d'una aplicacióper a mòbils amb plataforma Android que generi una gimcana, per poder realitzar unagimcana més completa i propera a la nostra era actual; incorporant totes lesfuncionalitats que tenen els telèfons mòbils a les eines per resoldre un joc de proves, icrear així un concepte més actual del que és una gimcana tradicional. La creació del'aplicació pretén fomentar i establir un diàleg de saber col•laboratiu i d'aportació deconeixements entre els components del mateix grup, que potencia la implicació en lacreació de la resposta al misteri o la realització de la prova
Resumo:
The development of correct programs is a core problem in computer science. Although formal verification methods for establishing correctness with mathematical rigor are available, programmers often find these difficult to put into practice. One hurdle is deriving the loop invariants and proving that the code maintains them. So called correct-by-construction methods aim to alleviate this issue by integrating verification into the programming workflow. Invariant-based programming is a practical correct-by-construction method in which the programmer first establishes the invariant structure, and then incrementally extends the program in steps of adding code and proving after each addition that the code is consistent with the invariants. In this way, the program is kept internally consistent throughout its development, and the construction of the correctness arguments (proofs) becomes an integral part of the programming workflow. A characteristic of the approach is that programs are described as invariant diagrams, a graphical notation similar to the state charts familiar to programmers. Invariant-based programming is a new method that has not been evaluated in large scale studies yet. The most important prerequisite for feasibility on a larger scale is a high degree of automation. The goal of the Socos project has been to build tools to assist the construction and verification of programs using the method. This thesis describes the implementation and evaluation of a prototype tool in the context of the Socos project. The tool supports the drawing of the diagrams, automatic derivation and discharging of verification conditions, and interactive proofs. It is used to develop programs that are correct by construction. The tool consists of a diagrammatic environment connected to a verification condition generator and an existing state-of-the-art theorem prover. Its core is a semantics for translating diagrams into verification conditions, which are sent to the underlying theorem prover. We describe a concrete method for 1) deriving sufficient conditions for total correctness of an invariant diagram; 2) sending the conditions to the theorem prover for simplification; and 3) reporting the results of the simplification to the programmer in a way that is consistent with the invariantbased programming workflow and that allows errors in the program specification to be efficiently detected. The tool uses an efficient automatic proof strategy to prove as many conditions as possible automatically and lets the remaining conditions be proved interactively. The tool is based on the verification system PVS and i uses the SMT (Satisfiability Modulo Theories) solver Yices as a catch-all decision procedure. Conditions that were not discharged automatically may be proved interactively using the PVS proof assistant. The programming workflow is very similar to the process by which a mathematical theory is developed inside a computer supported theorem prover environment such as PVS. The programmer reduces a large verification problem with the aid of the tool into a set of smaller problems (lemmas), and he can substantially improve the degree of proof automation by developing specialized background theories and proof strategies to support the specification and verification of a specific class of programs. We demonstrate this workflow by describing in detail the construction of a verified sorting algorithm. Tool-supported verification often has little to no presence in computer science (CS) curricula. Furthermore, program verification is frequently introduced as an advanced and purely theoretical topic that is not connected to the workflow taught in the early and practically oriented programming courses. Our hypothesis is that verification could be introduced early in the CS education, and that verification tools could be used in the classroom to support the teaching of formal methods. A prototype of Socos has been used in a course at Åbo Akademi University targeted at first and second year undergraduate students. We evaluate the use of Socos in the course as part of a case study carried out in 2007.
Resumo:
Programming and mathematics are core areas of computer science (CS) and consequently also important parts of CS education. Introductory instruction in these two topics is, however, not without problems. Studies show that CS students find programming difficult to learn and that teaching mathematical topics to CS novices is challenging. One reason for the latter is the disconnection between mathematics and programming found in many CS curricula, which results in students not seeing the relevance of the subject for their studies. In addition, reports indicate that students' mathematical capability and maturity levels are dropping. The challenges faced when teaching mathematics and programming at CS departments can also be traced back to gaps in students' prior education. In Finland the high school curriculum does not include CS as a subject; instead, focus is on learning to use the computer and its applications as tools. Similarly, many of the mathematics courses emphasize application of formulas, while logic, formalisms and proofs, which are important in CS, are avoided. Consequently, high school graduates are not well prepared for studies in CS. Motivated by these challenges, the goal of the present work is to describe new approaches to teaching mathematics and programming aimed at addressing these issues: Structured derivations is a logic-based approach to teaching mathematics, where formalisms and justifications are made explicit. The aim is to help students become better at communicating their reasoning using mathematical language and logical notation at the same time as they become more confident with formalisms. The Python programming language was originally designed with education in mind, and has a simple syntax compared to many other popular languages. The aim of using it in instruction is to address algorithms and their implementation in a way that allows focus to be put on learning algorithmic thinking and programming instead of on learning a complex syntax. Invariant based programming is a diagrammatic approach to developing programs that are correct by construction. The approach is based on elementary propositional and predicate logic, and makes explicit the underlying mathematical foundations of programming. The aim is also to show how mathematics in general, and logic in particular, can be used to create better programs.
Resumo:
The use of domain-specific languages (DSLs) has been proposed as an approach to cost-e ectively develop families of software systems in a restricted application domain. Domain-specific languages in combination with the accumulated knowledge and experience of previous implementations, can in turn be used to generate new applications with unique sets of requirements. For this reason, DSLs are considered to be an important approach for software reuse. However, the toolset supporting a particular domain-specific language is also domain-specific and is per definition not reusable. Therefore, creating and maintaining a DSL requires additional resources that could be even larger than the savings associated with using them. As a solution, di erent tool frameworks have been proposed to simplify and reduce the cost of developments of DSLs. Developers of tool support for DSLs need to instantiate, customize or configure the framework for a particular DSL. There are di erent approaches for this. An approach is to use an application programming interface (API) and to extend the basic framework using an imperative programming language. An example of a tools which is based on this approach is Eclipse GEF. Another approach is to configure the framework using declarative languages that are independent of the underlying framework implementation. We believe this second approach can bring important benefits as this brings focus to specifying what should the tool be like instead of writing a program specifying how the tool achieves this functionality. In this thesis we explore this second approach. We use graph transformation as the basic approach to customize a domain-specific modeling (DSM) tool framework. The contributions of this thesis includes a comparison of di erent approaches for defining, representing and interchanging software modeling languages and models and a tool architecture for an open domain-specific modeling framework that e ciently integrates several model transformation components and visual editors. We also present several specific algorithms and tool components for DSM framework. These include an approach for graph query based on region operators and the star operator and an approach for reconciling models and diagrams after executing model transformation programs. We exemplify our approach with two case studies MICAS and EFCO. In these studies we show how our experimental modeling tool framework has been used to define tool environments for domain-specific languages.
Resumo:
This thesis introduces an extension of Chomsky’s context-free grammars equipped with operators for referring to left and right contexts of strings.The new model is called grammar with contexts. The semantics of these grammars are given in two equivalent ways — by language equations and by logical deduction, where a grammar is understood as a logic for the recursive definition of syntax. The motivation for grammars with contexts comes from an extensive example that completely defines the syntax and static semantics of a simple typed programming language. Grammars with contexts maintain most important practical properties of context-free grammars, including a variant of the Chomsky normal form. For grammars with one-sided contexts (that is, either left or right), there is a cubic-time tabular parsing algorithm, applicable to an arbitrary grammar. The time complexity of this algorithm can be improved to quadratic,provided that the grammar is unambiguous, that is, it only allows one parsefor every string it defines. A tabular parsing algorithm for grammars withtwo-sided contexts has fourth power time complexity. For these grammarsthere is a recognition algorithm that uses a linear amount of space. For certain subclasses of grammars with contexts there are low-degree polynomial parsing algorithms. One of them is an extension of the classical recursive descent for context-free grammars; the version for grammars with contexts still works in linear time like its prototype. Another algorithm, with time complexity varying from linear to cubic depending on the particular grammar, adapts deterministic LR parsing to the new model. If all context operators in a grammar define regular languages, then such a grammar can be transformed to an equivalent grammar without context operators at all. This allows one to represent the syntax of languages in a more succinct way by utilizing context specifications. Linear grammars with contexts turned out to be non-trivial already over a one-letter alphabet. This fact leads to some undecidability results for this family of grammars
Resumo:
The vast majority of our contemporary society owns a mobile phone, which has resulted in a dramatic rise in the amount of networked computers in recent years. Security issues in the computers have followed the same trend and nearly everyone is now affected by such issues. How could the situation be improved? For software engineers, an obvious answer is to build computer software with security in mind. A problem with building software with security is how to define secure software or how to measure security. This thesis divides the problem into three research questions. First, how can we measure the security of software? Second, what types of tools are available for measuring security? And finally, what do these tools reveal about the security of software? Measuring tools of these kind are commonly called metrics. This thesis is focused on the perspective of software engineers in the software design phase. Focus on the design phase means that code level semantics or programming language specifics are not discussed in this work. Organizational policy, management issues or software development process are also out of the scope. The first two research problems were studied using a literature review while the third was studied using a case study research. The target of the case study was a Java based email server called Apache James, which had details from its changelog and security issues available and the source code was accessible. The research revealed that there is a consensus in the terminology on software security. Security verification activities are commonly divided into evaluation and assurance. The focus of this work was in assurance, which means to verify one’s own work. There are 34 metrics available for security measurements, of which five are evaluation metrics and 29 are assurance metrics. We found, however, that the general quality of these metrics was not good. Only three metrics in the design category passed the inspection criteria and could be used in the case study. The metrics claim to give quantitative information on the security of the software, but in practice they were limited to evaluating different versions of the same software. Apart from being relative, the metrics were unable to detect security issues or point out problems in the design. Furthermore, interpreting the metrics’ results was difficult. In conclusion, the general state of the software security metrics leaves a lot to be desired. The metrics studied had both theoretical and practical issues, and are not suitable for daily engineering workflows. The metrics studied provided a basis for further research, since they pointed out areas where the security metrics were necessary to improve whether verification of security from the design was desired.
Resumo:
The topic of this research was alternative programming in secondary public education. The purpose of this research was to explore the perceived effectiveness of two public secondary programs that are aJternative to mainstream or "regular" education. Two case study sites were used to research diverse ends of the aJtemative programming continuum. The first case study demonstrated a gifted program and the second demonstrated a behavioral program. Student needs were examined in terms of academic needs, emotional needs, career needs, and social needs. Research conducted in these sites examined how the students, teachers, onsite staff, and program administrators perceived that individual needs were met and unmet in these two programs. The study was qualitative and exploratory, using deductive and inductive research techniques. Similar themes of best practice that were identified in the case study sites aided in the development of a teaching and learning model. Four themes were identified as important within the case study sites. These themes included the commitment and motivation of teachers and the support of administration in the gifted program, and the importance of location and the flow of information and communication in the behavior program. Six themes emerged that were similar across the case study sites. These themes included the individual nature of programming, recognition of student achievement, the alternative program as a place of safety and community, importance of interpersonal capacity, priority of basic needs, and, finally, matching student capacity with program expectations. The model incorporates these themes and is designed as a resource for teachers, program administrators, parents, and policy makers of alternative educational programs.
Resumo:
The effectiveness of various kinds of computer programs is of concern to nurse-educators. Using a 3x3 experimental design, ninety second year diploma student nurses were randomly selected from a total population at three community colleges in Ontario. Data were collected via a 20-item valid and reliable Likert-type questionnaire developed by the nursing profession to measure perceptions of nurses about computers in the nursing role. The groups were pretested and posttested at the beginning and end of one semester. Subjects attending College A group received a computer literacy course which comprised word processing with technology awareness. College B students were exposed to computer-aided instruction primarily in nursing simulations intermittently throughout the semester. College C subjects maintained their regular curriculum with no computer involvement. The student's t-test (two-tailed) was employed to assess the attitude scores data and a one-way analysis of variance was performed on the attitude scores. Posttest analysis revealed that there was a significant difference (p<.05) between attitude scores on the use of computers in the nursing role between College A and C. No significant differences (p>.05) were seen between College B and A in posttesting. Suggestions for continued computer education of diploma student nurses are provided.