11 |
Developing VDM++ operations from UML diagramsMit, Edwin January 2008 (has links)
The Unified Modelling Language (UML) is widely accepted as the standard notation for Object-Oriented methods. However, one of its major problem is its lack of formal semantics. The development of the Object Constraints Language (OCL) in the last few years seems to be the answer to this problem, but some argue that it is difficult to use. In addition, inadequate information and lack of precise definitions of UML models [31] are the two main reasons why current existing 00 supporting tools do not emphasis on the standard input syntax or format used with UML models. In this thesis, the author attempts to provide answers to some of these questions by developing a set of transformation rules from UML to ) VDM++ and then develops an architecture for a CASE tool to support the transformation process.
|
12 |
Program development in ƵcCalderon Cruz, Jose Ricardo Daniel January 2003 (has links)
No description available.
|
13 |
The design and construction of a state machine system that handles nondeterminismThomason, Graham G. January 2004 (has links)
No description available.
|
14 |
Proxy compilation of dynamically loaded Java classes for embedded systemsNewsome, Matt January 2003 (has links)
No description available.
|
15 |
A study on diversity in classifier ensemblesShipp, Catherine A. January 2004 (has links)
In this thesis we carry out a series of investigations into the relationship between diversity and combination methods and diversity and AdaBoost. In our first investigation we study the relationships between nine combination methods. Two data sets are used. We consider the overall accuracies of the combination methods, their improvement over the single best classifier, and the correlation between the ensemble outputs using the different combination methods. Next we introduce ten diversity measures. Using the same two data sets, we study the relationships between the diversity measures. Then we look at their relationship to the combination methods previously studied. The ranges of the ten diversity measures for three classifiers are derived. They are compared with the theoretical ranges and their implications for the accuracy of the ensemble are studied. We then proceed to investigate the diversity of classifier ensembles built using the AdaBoost algorithm. We carry out experiments with two datasets using ten-fold cross validation. We build 100 classifiers each time using linear classifiers, quadratic classifiers or neural networks. We study how diversity varies as the classifier ensemble grows and how the different types of classifier compare. Next we consider ways of improving AdaBoost's performance. We conduct an investigation into how modifying the size of the training sets and the complexity of the individual classifiers alter the ensemble's performance. We carry out experiments using three datasets. Lastly we consider using pareto optimality to determine which classifiers built by AdaBoost to add to the ensemble. We carry out experiments with ten datasets. We compare standard AdaBoost to AdaBoost with two versions of the Pareto-optimality method called Pareto 5 and Pareto 10, to see whether we can reduce the ensemble size without harming the ensemble accuracy.
|
16 |
Extending the real time specification for Java for cache coherent NUMA architecturesMalik, Haseeb January 2012 (has links)
The recent past has seen single processing systems becoming obsolete and multiprocessor systems taking over as the architecture of choice. More scalable architectures are being introduced to keep up with the ever increasing computational requirements. Inevitably the software industry has to keep up and provide tools which would allow easy development of parallel applications on these complex architectures. Programming languages unable to support these architectures will become obsolete and new languages will be developed designed to serve the purpose. Existing languages that have the potential of coping with such architectures will be extended. Java is an object oriented language which provides features like platform independence and concurrency by design. It is supported on a wide range of computational devices starting from high performance computing servers to small hand held mobiles. This makes Java a very popular language, with a large pool of programmers. Therefore, it is not strange to see Java being extended for different multiprocessor and distributed systems. The Real-Time Specification for Java (RTSJ) was introduced as a high level platform for developing real-time applications. It has been gaining popularity since its inception and is being increasingly used for real time development. The recent version of RTSJ (i.e. RTSJ~1.1) has included some support for multiprocessors. The changes that have been introduced are largely related to the scheduling and dispatching of threads in symmetric multiprocessors. It is assumed that the memory allocations will not affect the timing properties of the system and it will be accessed uniformly. This thesis argues that these changes are not enough to support shared memory multiprocessors on RTSJ; and the following issues need to be addressed: \begin{itemize} \item In shared memory multiprocessors, uniform memory access (UMA) systems are not scalable and will be replaced by cache coherent non-uniform memory access (cc-NUMA) systems. Locality can largely affect the performance of applications and cause unpredictable delays in real-time applications on cc-NUMA systems. These delays are caused by the distributed memory layout in cc-NUMA and can be reduced by giving applications more control and visibility into the allocation policies of threads and memory. \item The increased computational power of multiprocessors encourages the platform to be shared by multiple applications. In such an environment, real-time applications require temporal guarantees from the platform to meet their timing requirements. \end{itemize} The key contribution of this thesis is to extend the programming model of RTSJ to provide programmers with locality constraints. Existing support in RTSJ for locality is shown to be very limited and a new locality model is presented which enables programmers to develop portable applications. Applications are divided into multiple partitions and temporal guarantees are provided to partitions allowing them to be analyzed in isolation from the rest of the system. A prototype of the aforementioned model is implemented and tested. A series of experiments are conducted to prove the effectiveness of the model. In particular, the effect of locality is highlighted by performance measuring in a multithreaded environment.
|
17 |
A functional quantum programming languageGrattage, Jonathan James January 2006 (has links)
This thesis introduces the language QML, a functional language for quantum computations on finite types. QML exhibits quantum data and control structures, and integrates reversible and irreversible quantum computations. The design of QML is guided by the categorical semantics: QML programs are interpreted by morphisms in the category FQC of finite quantum computations, which provides a constructive operational semantics of irreversible quantum computations, realisable as quantum circuits. The quantum circuit model is also given a formal categorical definition via the category FQC. QML integrates reversible and irreversible quantum computations in one language, using first order strict linear logic to make weakenings, which may lead to the collapse of the quantum wavefunction, explicit. Strict programs are free from measurement, and hence preserve superpositions and entanglement. A denotational semantics of QML programs is presented, which maps QML terms into superoperators, via the operational semantics, made precise by the category Q. Extensional equality for QML programs is also presented, via a mapping from FQC morphisms into the category Q.
|
18 |
Model driven language engineeringPatrascoiu, Octavian January 2005 (has links)
Modeling is a most important exercise in software engineering and development and one of the current practices is object-oriented (OO) modeling. The Object Management Group (OMG) has defined a standard object-oriented modeling language the Unified Modeling Language (UML). The OMG is not only interested in modeling languages; its primary aim is to enable easy integration of software systems and components using vendor-neutral technologies. This thesis investigates the possibilities for designing and implementing modeling frameworks and transformation languages that operate on models and to explore the validation of source and target models. Specifically, we will focus on OO models used in OMG's Model Driven Architecture (MDA), which can be expressed in terms of UML terms (e.g. classes and associations). The thesis presents the Kent Modeling Framework (KMF), a modeling framework that we developed, and describes how this framework can be used to generate a modeling tool from a model. It then proceeds to describe the customization of the generated code, in particular the definition of methods that allows a rapid and repeatable instantiation of a model. Model validation should include not only checking the well-formedness using OCL constraints, but also the evaluation of model quality. Software metrics are useful means for evaluating the quality of both software development processes and software products. As models are used to drive the entire software development process it is unlikely that high quality software will be obtained using low quality models. The thesis presents a methodology supported by KMF that uses the UML specification to compute the design metrics at an early stage of software development. The thesis presents a transformation language called YATL (Yet Another Transformation Language), which was designed and implemented to support the features provided by OMG's Request For Proposal and the future QVT standard. YATL is a hybrid language (a mix of declarative and imperative constructions) designed to answer the Query/Views/Transformations Request For Proposals issued by OMG and to express model transformations as required by the Model Driven Architecture (MDA) approach. Several examples of model transformations, which have been implemented using YATL and the support provided by KMF, are presented. These experiments investigate different knowledge areas as programming languages, visual diagrams and distributed systems. YATL was used to implement the following transformations: * UML to Java mapping * Spider diagrams to OCL mapping * EDOC to Web Services
|
19 |
An empirical investigation of inheritance trends in Java OSS evolutionNasseri, Emal January 2009 (has links)
Inheritance is a salient feature of Object-Oriented (OO) paradigm which facilitates reuse and improves system comprehensibility in OO systems. The overall aim of inheritance is to model classes in a structured hierarchy where classes residing lower in the hierarchy (subclasses) can inherit the pre-existing functionality in the classes located higher up (superclasses) in the same line of hierarchy. Software maintenance and evolution are the process of making any modifications to a software system and upgrading its dynamic behaviour. In this Thesis, we empirically investigate the trends of evolution of eight Java Open-Source Systems (OSS) from an inheritance perspective and model the propensity for changes of inheritance in those systems. The systems used as testbed in this Thesis represent a variety of application domains with varying sizes and amount of inheritance employed. There are several levels of granularity for inheritance evolution that may manifest a particular trend. This starts from the highest level (package) to lower class, method an attribute levels; and each level may show a different and yet an important pattern of evolution. We empirically investigate the changes of inheritance in the form of increases (additions) and decreases (deletions) in number of classes, methods and attributes. Our analysis also includes the movement of classes within and across an inheritance hierarchy which is another compelling facet of evolution of inheritance and may not be extrapolated through incremental changes only. It requires a finer-grained scrutiny of evolutionary traits of inheritance. In addition, the Thesis also explores the trends of class interaction within and across an inheritance hierarchy and problems embedded in a system that may lead to faults, from an inheritance perspective. The results demonstrate how inheritance is used in practice, problems associated with inheritance and how inheritance hierarchies evolve as opposed to that of a ‘system’. Overall results informed our understanding of the trends in changes of inheritance in the evolution of Java systems.
|
20 |
Creation of a pronunciation dictionary for automatic speech recognition : a morphological approachNkosi, Mpho Caselinah January 2012 (has links)
Thesis (M.Sc. (Computer Science)) --University of Limpopo, 2012 / Pronunciation dictionaries or lexicons play an important role in guiding the predictive powers of an Automatic Speech Recognition (ASR) system. As the use of automatic speech recognition systems increases, there is a need for the development of dictionaries that cover a large number of inflected word forms to enhance the performance of ASR systems. The main purpose of this study is to investigate the contribution of the morphological approach to creating a more comprehensive and broadly representative Northern Sotho pronunciation dictionary for Automatic Speech Recognition systems.
The Northern Sotho verbs together with morphological rules are used to generate more valid inflected word forms in the Northern Sotho language for the creation of a pronunciation dictionary. The pronunciation dictionary is developed using the Dictionary Maker tool. The Hidden Markov Model Toolkit is used to develop a simple ASR system in order to evaluate the performance of the ASR system when using the created pronunciation dictionary.
|
Page generated in 0.021 seconds