38 resultados para C (Programming Language)
Resumo:
This thesis presents different aspects of Web Services usage in Symbian OS that is an operating system for handheld devices. The practical part of the work was to develop Symbian OS client application for Web Services. It produced four reusable software components. XML enables platform and programming language independent services. Web Services use XML to create standardized message oriented services that are accessed through HTTP. Web Services are moving towards dynamic B2B interaction. Web Services increases the amount of transferred data, which is not desirable in mobile networks where transfer speed is slower than in the traditional networks. However the modern mobile networks are able to transfer the extra payload with reasonable time. XML processing is not a big problem. Web Services can be accessed from the modern mobile devices and they can cut down the development costs.
Resumo:
Viime aikoina matkapuhelimet ovat alkaneet tukea Javaa matkapuhelinsovellusten ohjelmointikielen. Javan perusajatus on, ett kerran knnetty sovellus voidaan suorittaa useilla laitealustoilla ilman uudelleenkntmisen tarvetta. Jotta sovellukset voisivat toimia uudella alustalla, niiden kyttmt kirjastot tulee siirt uudelle alustalle. Tm diplomity tutkii tmnkaltaiseen siirtoprojektiin liittyvi asioita. Diplomityn aikana kyttliittymkirjasto siirrettiin olemassa olleelta alustalta kahdelle uudelle alustalle. Toinen uusista alustoista oli vanhan alustan uusi versio, ja toinen oli kokonaan uusi alusta. Ohjelmiston siirtmist helpottaa jos alkuperinen ohjelmisto on suunniteltu siirrettvyytt silmllpiten. Varsinaiset ohjelmaan tehtvt muutokset ovat tllin helppoja tehd. Hyvlaatuisen lopputuloksen saaminen vaatii kuitenkin aina ett ohjelmisto mys testataan huolellisesti.
Resumo:
Payment Card Industry Data Security Standard (PCI DSS) on korttiyhtiiden kehittm kansainvlinen tietoturvastandardi, jonka tarkoituksena on parantaa kortinhaltijoiden tietoja ksittelevien jrjestelmien tietoturvaa. Standardissa mritelln vaatimukset tietojen turvalliselle tallennukselle ja ksittelylle, testaus- ja tarkastusmenetelmt sek tarkastusvaatimukset ja tarkastuksia suorittavien tahojen sertifiointi. Standardi koskee kaikkia standardin hyvksyneiden maksukorttiyhtiiden korttitietoja ksittelevi tahoja. Standardin yllpitmisest ja kehittmisest vastaa maksukorttiyhtiiden perustama PCI Security Standards Council -toimielin. Syyskuussa 2006 toimielin julkaisi standardista version 1.1, joka on edelleen viimeisin versio. Tss diplomityss selvitettiin PCI DSS -standardin asettamat vaatimukset kortinhaltijoiden tietoja ksitteleville tahoille. Lisksi tutkittiin mahdollisuuksia toteuttaa yksi standardin vaatimuksista, kortinhaltijoiden tietojen suojaaminen, esimerkkijrjestelmss. Kyseinen jrjestelm on kehitetty IBM System i -palvelinympristn kytten RPG-ohjelmointikielt.
Resumo:
NURBS are widely used parametric approximation curves or surfaces. NURBS can be applied to the many applications. Examples of these applications are some computeraided design applications and some medical applications. Use of NURBS is very intuitive. The objective of this work was to implement the NURBS toolbox in the Matlab environment. Matlab is a program for many kinds of computational purposes. Matlab is also a programming language. NURBS toolbox implemented in this work offers a user an opportunity to use functions of this toolbox as parts of the users own programs. Current version of NURBS toolbox includes functions for NURBS curve and surface evaluation. The toolbox is designed such, that it allows extensions and enhancements in the future.
Resumo:
Tss tyss kehitetn yleiskyttinen palvelupyyntmalli, jonka avulla Lahden kaupungin Lahti Fenix projektin Kuntalaistilijrjestelmn palveluvyln kautta voidaan kutsua jrjestelmn tietokantatasoa tai muita palveluvyln avulla integroituja jrjestelmi. Tyn tavoitteena oli suoraviivaistaa jrjestelmintegraatioihin liittyvien palveluiden kehittmist suunnittelemalla sellainen palvelupyyntmuodostin, joka ei sisll staattisia viittauksia jossakin tietyss palvelussa kytettviin luokkiin tai muihin ominaisuuksiin. Tyss hydynnettiin Java-kielen kehittyneit ominaisuuksia; reflektiivist ohjelmointia, geneerist ohjelmointia ja Java-virtuaalikoneen metodipinon lukemista. Tavoitteen saavuttamista mitattiin kytten avuksi McCaben syklomaattista kompleksisuutta ja metodeissa kytetty rivimr. Ty aloitettiin joulukuussa 2008 ja saatiin valmiiksi helmikuussa 2009. Tyn tuloksena syntyi toimiva, syklomaattiselta kompleksisuudeltaan matala ja helppokyttinen palvelukutsumuodostin.
Resumo:
Web application performance testing is an emerging and important field of software engineering. As web applications become more commonplace and complex, the need for performance testing will only increase. This paper discusses common concepts, practices and tools that lie at the heart of web application performance testing. A pragmatic, hands-on approach is assumed where applicable; real-life examples of test tooling, execution and analysis are presented right next to the underpinning theory. At the client-side, web application performance is primarily driven by the amount of data transmitted over the wire. At the server-side, selection of programming language and platform, implementation complexity and configuration are the primary contributors to web application performance. Web application performance testing is an activity that requires delicate coordination between project stakeholders, developers, system administrators and testers in order to produce reliable and useful results. Proper test definition, execution, reporting and repeatable test results are of utmost importance. Open-source performance analysis tools such as Apache JMeter, Firebug and YSlow can be used to realise effective web application performance tests. A sample case study using these tools is presented in this paper. The sample application was found to perform poorly even under the moderate load incurred by the sample tests.
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:
Pumping systems account for over 20 % of all electricity consumption in European industry. Optimization and correct design of such systems is important and there is a reasonable amount of unrealized energy saving potential in old pumping systems. The energy efficiency and therefore also the energy consumption of a pumping system heavily depends on the correct dimensioning and selection of devices. In this work, a graphical optimization tool for pumping systems is developed in Matlab programming language. The tool selects optimal pump, electrical motor and frequency converter for existing pumping process and calculates the life cycle costs of the whole system. The tool could be used as an aid when choosing the machinery and to analyze the energy consumption of existing systems. Results given by the tool are compared to the results of laboratory tests. The selection of pump and motor works reasonably well, but the frequency converter selection still needs development
Resumo:
The objective of this thesis was to examine the potential of multi-axis solutions in packaging machines produced in Europe. The definition of a multi-axis solution in this study is a construction that uses a common DC bus power supply for different amplifiers running the axes and the intelligence is centralized into one unit. The cost structure of a packaging machine was gained from an automation research, which divided the machines according to automation categories. The automation categories were then further divided into different sub-components by evaluating the ratio of multi-axis solutions compared to other automation components in packaging machines. A global motion control study was used for further information. With the help of the ratio, an estimation of the potential of multi-axis solutions in each country and packaging machine sector was completed. In addition to the research, a specific questionnaire was sent to five companies to gain information about the present situation and possible trends in packaging machinery. The greatest potential markets are in Germany and Italy, which are also the largest producers of packaging machinery in Europe. The greatest growth in the next few years will be seen in Turkey where the annual growth rate equals the general machinery production rate in Asia. The greatest market potential of the Nordic countries is found in Sweden in 35th position on the list. According to the interviews, motion control products in packaging machines will retain their current power levels, as well as the number of axes in the future. Integrated machine safety features together with a universal programming language are the desired attributes of the future. Unlike generally in industry, the energy saving objectives are and will remain insignificant in the packaging industry.
Resumo:
Software plays an important role in our society and economy. Software development is an intricate process, and it comprises many different tasks: gathering requirements, designing new solutions that fulfill these requirements, as well as implementing these designs using a programming language into a working system. As a consequence, the development of high quality software is a core problem in software engineering. This thesis focuses on the validation of software designs. The issue of the analysis of designs is of great importance, since errors originating from designs may appear in the final system. It is considered economical to rectify the problems as early in the software development process as possible. Practitioners often create and visualize designs using modeling languages, one of the more popular being the Uni ed Modeling Language (UML). The analysis of the designs can be done manually, but in case of large systems, the need of mechanisms that automatically analyze these designs arises. In this thesis, we propose an automatic approach to analyze UML based designs using logic reasoners. This approach firstly proposes the translations of the UML based designs into a language understandable by reasoners in the form of logic facts, and secondly shows how to use the logic reasoners to infer the logical consequences of these logic facts. We have implemented the proposed translations in the form of a tool that can be used with any standard compliant UML modeling tool. Moreover, we authenticate the proposed approach by automatically validating hundreds of UML based designs that consist of thousands of model elements available in an online model repository. The proposed approach is limited in scope, but is fully automatic and does not require any expertise of logic languages from the user. We exemplify the proposed approach with two applications, which include the validation of domain specific languages and the validation of web service interfaces.
Resumo:
Tss tyss esiteltiin Android laitteisto- ja sovellusalustana sek kuvattiin, kuinka Android-pelisovelluksen kyttliittym voidaan pit yhtenisen eri nyttlaitteilla skaalauskertoimien ja ankkuroinnin avulla. Toisena osiona tyt ksiteltiin yksinkertaisia tapoja, joilla pelisovelluksien suorituskyky voidaan parantaa. Nist tarkempiin mittauksiin valittiin matalatarkkuuksinen piirtopuskuri ja nkymttmiss olevien kappaleiden piilotus. Mittauksissa valitut menetelmt vaikuttivat demosovelluksen suorituskykyyn huomattavasti. Tss tyss rajauduttiin Android-ohjelmointiin Java-kielell ilman ulkoisia kirjastoja, jolloin tyn tuloksia voi helposti hydynt mahdollisimman monessa eri kyttkohteessa.
Resumo:
This thesis reports investigations on applying the Service Oriented Architecture (SOA) approach in the engineering of multi-platform and multi-devices user interfaces. This study has three goals: (1) analyze the present frameworks for developing multi-platform and multi-devices applications, (2) extend the principles of SOA for implementing a multi-platform and multi-devices architectural framework (SOA-MDUI), (3) applying and validating the proposed framework in the context of a specific application. One of the problems addressed in this ongoing research is the large amount of combinations for possible implementations of applications on different types of devices. Usually it is necessary to take into account the operating system (OS), user interface (UI) including the appearance, programming language (PL) and architectural style (AS). Our proposed approach extended the principles of SOA using patterns-oriented design and model-driven engineering approaches. Synthesizing the present work done in these domains, this research built and tested an engineering framework linking Model-driven Architecture (MDA) and SOA approaches to developing of UI. This study advances general understanding of engineering, deploying and managing multi-platform and multi-devices user interfaces as a service.
Resumo:
This thesis introduces an extension of Chomskys 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 denition of syntax. The motivation for grammars with contexts comes from an extensive example that completely denes 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 denes. 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 dene 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 specications. 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:
With the growth in new technologies, using online tools have become an everyday lifestyle. It has a greater impact on researchers as the data obtained from various experiments needs to be analyzed and knowledge of programming has become mandatory even for pure biologists. Hence, VTT came up with a new tool, R Executables (REX) which is a web application designed to provide a graphical interface for biological data functions like Image analysis, Gene expression data analysis, plotting, disease and control studies etc., which employs R functions to provide results. REX provides a user interactive application for the biologists to directly enter the values and run the required analysis with a single click. The program processes the given data in the background and prints results rapidly. Due to growth of data and load on server, the interface has gained problems concerning time consumption, poor GUI, data storage issues, security, minimal user interactive experience and crashes with large amount of data. This thesis handles the methods by which these problems were resolved and made REX a better application for the future. The old REX was developed using Python Django and now, a new programming language, Vaadin has been implemented. Vaadin is a Java framework for developing web applications and the programming language is extremely similar to Java with new rich components. Vaadin provides better security, better speed, good and interactive interface. In this thesis, subset functionalities of REX was selected which includes IST bulk plotting and image segmentation and implemented those using Vaadin. A code of 662 lines was programmed by me which included Vaadin as the front-end handler while R language was used for back-end data retrieval, computing and plotting. The application is optimized to allow further functionalities to be migrated with ease from old REX. Future development is focused on including Hight throughput screening functions along with gene expression database handling
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 ones 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.