The development process of any software has become extremely important not just in the IT industry, but in almost every business or domain of research. The effort in making this process quick,... Show moreThe development process of any software has become extremely important not just in the IT industry, but in almost every business or domain of research. The effort in making this process quick, efficient, reliable and automated has constantly evolved into a flow that delivers software incrementally based on both the developer's best skills and the end user's feedback. Software modeling and modeling languages have the purpose of facilitating product development by designing correct and reliable applications. The concurrency model of the Abstract Behavioural Specification (ABS) Language with features for asynchronous programming and cooperative scheduling is an important example of how modeling contributes to the reliability and robustness of a product. By abstracting from the implementation details, program complexity and inner workings of libraries, software modeling, and specifically ABS, allow for an easier use of formal analysis techniques and proofs to support product design. However there is still a gap that exists between modeling languages and programming languages with the process of software development often going on two separate paths with respect to modeling and implementation. This potentially introduces errors and doubles the development effort. \par The overall objective of this research is bridging the gap between modeling and programming in order to provide a smooth integration between formal methods and two of the most well-known and used languages for software development, the Java and Scala languages. The research focuses mainly on sequential and highly parallelizable applications, but part of the research also involves some theoretical proposals for distributed systems. It is a first step towards having a programming language with support for formal models. Show less
In this thesis we will explore the use of fuzzy systems theory for applications in bioinformatics. The theory of fuzzy systems is concerned with formulating decision problems in data sets that... Show moreIn this thesis we will explore the use of fuzzy systems theory for applications in bioinformatics. The theory of fuzzy systems is concerned with formulating decision problems in data sets that are ill-defined. It supports the transfer from a subjective human classification to a numerical scale. In this manner it affords the testing of hypothesis and separation of the classes in the data. We first formulate problems in terms of a fuzzy system and then develop and test algorithms in terms of their performance with data from the domain of the life-sciences. From the results and the performance, we will learn about the usefulness of fuzzy systems for the field, as well as the applicability to the kind of problems and practicality for the computation itself. Show less
With the rapid development of electronic commerce, logistics management has become more and more important in the procedure of supply chain management. The goal of logistics management is to... Show moreWith the rapid development of electronic commerce, logistics management has become more and more important in the procedure of supply chain management. The goal of logistics management is to satisfy the demands of customers while minimizing the use of resources of the whole process in logistics management from the point of origin to the point of consumption. The logistics management technology has been widely used in the field of engineering and contributes to reducing the total logistics cost. In this thesis, we focus on algorithms based on nature-inspired paradigms to solve dynamic logistics management problems. Results show that the proposed multiple ant system algorithm and the multi-objective cooperative particle swarm algorithm are able to produce good solutions for the vehicle routing problems and inventory routing problems not only in theory but also in practice. Show less
To prevent a large software system from collapsing under its own complexity, its code needs to be well-structured. Ideally we want all code related to a certain feature to be grouped together _... Show moreTo prevent a large software system from collapsing under its own complexity, its code needs to be well-structured. Ideally we want all code related to a certain feature to be grouped together __called feature modularization__ and code belonging to different features not to mix __ called separation of concerns. But many concerns are known as 'cross-cutting concerns'. By their very nature their implementation needs to be spread around the code base. The software engineering discipline that has the most to gain from those properties is Software Product Line Engineering. It is concerned with the development and maintenance of multiple software systems at the same time, each possessing a different (but often overlapping) set of features. This gives rise to an additional need: The code for a given feature must not only be separated and modular; it also needs to be composable and able to deal gracefully with the presence or absence of other features. This thesis presents Abstract Delta Modeling, a formal framework developed to achieve these goals in software. The thesis is a product of the European HATS project. It formalizes the techniques of delta modeling, the main approach to variability used by HATS Show less
In this thesis we will investigate how a popular new way of distributed computing called service orientation can be used within the field of Knowledge Discovery. We critically investigate its... Show moreIn this thesis we will investigate how a popular new way of distributed computing called service orientation can be used within the field of Knowledge Discovery. We critically investigate its principles and present models for developing withing this paradigm. We then apply this model to create a web service caled Fantom, that mines subgroups in a ranked list of identifiers, based on their score. The descriptions of these subgroups are done in ontologies to provide the scientist a description in a standardized and familiar language. Finally, Fantom is tested on two different data sets from the field of life-sciences; one concerning gene data, the other concerning SNP data. Show less