Klaus Marius Hansen
University of Copenhagen
Network
Latest external collaboration on country level. Dive into details by clicking on the dots.
Publication
Featured researches published by Klaus Marius Hansen.
Journal of Systems and Software | 2013
Konstantinos Manikas; Klaus Marius Hansen
A software ecosystem is the interaction of a set of actors on top of a common technological platform that results in a number of software solutions or services. Arguably, software ecosystems are gaining importance with the advent of, e.g., the Google Android, Apache, and Salesforce.com ecosystems. However, there exists no systematic overview of the research done on software ecosystems from a software engineering perspective. We performed a systematic literature review of software ecosystem research, analyzing 90 papers on the subject taken from a gross collection of 420. Our main conclusions are that while research on software ecosystems is increasing (a) there is little consensus on what constitutes a software ecosystem, (b) few analytical models of software ecosystems exist, and (c) little research is done in the context of real-world ecosystems. This work provides an overview of the field, while identifying areas for future research.
Information & Software Technology | 2014
Henrik Bærbak Christensen; Klaus Marius Hansen; Morten Kyng; Konstantinos Manikas
Abstract Context Telemedicine, the provision of health care at a distance, is arguably an effective way of increasing access to, reducing cost of, and improving quality of care. However, the deployment of telemedicine is faced with standards that are hard to use, application-specific data models, and application stove-pipes that inhibit the adoption of telemedical solutions. To which extent can a software ecosystem approach to telemedicine alleviate this? Objective In this article, we define the concept of software ecosystem architecture as the structure(s) of a software ecosystem comprising elements, relations among them, and properties of both. Our objective is to show how this concept can be used (i) in the analysis of existing software ecosystems and (ii) in the design of new software ecosystems. Method We performed a mixed-method study that consisted of a case study and an experiment. For (i), we performed a descriptive, revelatory case study of the Danish telemedicine ecosystem and for (ii), we experimentally designed, implemented, and evaluated the architecture of 4S. Results We contribute in three areas. First, we define the software ecosystem architecture concept that captures organization, business, and software aspects of software ecosystems. Secondly, we apply this concept in our case study and demonstrate that it is a viable concept for software ecosystem analysis. Finally, based on our experiments, we discuss the practice of software engineering for software ecosystems drawn from experience in creating and evolving the 4S telemedicine ecosystem. Conclusion The concept of software ecosystem architecture can be used analytically and constructively in respectively the analysis and design of software ecosystems.
management of emergent digital ecosystems | 2013
Konstantinos Manikas; Klaus Marius Hansen
The use of telemedicine is arguably beneficial even in densely populated areas in reducing cost and increasing efficiency of healthcare. However, the implementation of telemedicine solutions in the healthcare system of Denmark has been perceived as being faced with implementation and interoperability issues, silo solutions, and lack of guidelines and standards. In this paper, we characterise the ecosystem evolved around the telemedicine services in Denmark and study the actors involved in this ecosystem. We establish a method for this study, where we define two actor roles and ways of characterizing actor contributions, and apply the method to the largest healthcare region of Denmark. Our findings reveal an ecosystem that is relatively closed to new actors, where the actors tend to be related to single telemedicine applications, the applications have low connectivity, and the most influential actors of the ecosystem can be characterised as both being beneficial and inhibitory to the ecosystem prosperity.
Journal of Systems and Software | 2011
Klaus Marius Hansen; Kristján Jónasson; Helmut Neukirchen
Abstract: Software architecture is concerned with the structure of software systems and is generally agreed to influence software quality. Even so, little empirical research has been performed on the relationship between software architecture and software quality. Based on 1141 open source Java projects, we calculate three software architecture metrics (measuring classes per package, normalized distance, and a new metric introduced by us concerning the excess of coupling degree) and analyze to which extent these metrics are related to product metrics (defect ratio, download rate, methods per class, and method complexity). We conclude that there are a number of significant relationships between product metrics and architecture metrics. In particular, the number of open defects depends significantly on all our architecture measures.
international conference on service oriented computing | 2012
Weishan Zhang; Klaus Marius Hansen; Paolo Bellavista
Cloud computing, autonomic computing, pervasive and mobile computing tends to converge, maximizing the benefits from different computing paradigms. This convergence makes emerging applications such as search and rescue applications, smart city and smart planet applications, e.g., to minimize the power consumption of a full city to achieve green computing vision, more promising on the one hand, but more complex to manage on the other hand. Interesting research questions arise due to this convergence. For example, how to efficiently retrieve underlying contexts that are difficult to recognize especially with resource-limited handheld devices, how to make use of these contexts for achieving self-management, and how to process large-scale contexts. These challenges require that researchers from software engineering, artificial intelligence, pattern recognition, high-performance distributed systems, cloud and mobile computing, etc. collaborate in order to make systems work in an efficiently self-managed manner.
the internet of things | 2014
Weishan Zhang; Shouchao Tan; Klaus Marius Hansen
The key idea of MCC is using powerful back-end computing nodes to enhance capabilities of small mobile devices and provide better user experiences. An effective and widely used approach to realize this is task migrations. Decision making is an important aspect of migrations which affects the feasibility and effectiveness of task migrations. There have been a number of research efforts to MCC which help make decisions for task migrations. In this paper, we present a comprehensive survey on decision making for task migrations in MCC, including decision factors and algorithms. We observe that there are still some challenges such as comprehensive context awareness, unified migration standards, large-scale experiments, more involvement of latest achievements from artificial intelligence, and flexible decision-making mechanisms. The paper highlights these issues and challenges to attract more efforts to work on MCC.
green computing and communications | 2010
Weishan Zhang; Klaus Marius Hansen; João M. Fernandes; Julian Schuette; Francisco Milagro Lardies
Pervasive computing is characterized by heterogeneous devices that usually have scarce resources requiring optimized usage. These devices may use different communication protocols which can be switched at runtime. As different communication protocols have different quality of service (QoS) properties, this motivates optimized self-adaption of protocols for devices, e.g., considering power consumption and other QoS requirements, e.g. round trip time (RTT) for service invocations, throughput, and reliability. In this paper, we present an extensible approach for self-adaptation of communication protocols for pervasive web services, where protocols are designed as reusable connectors and our middleware infrastructure can hide the complexity of using different communication protocols to upper layers. We also propose to use Genetic Algorithms (GAs) to find optimized configurations at runtime to achieve self-adaption of web service transport protocols (TCP, UDP and Blue tooth), taking into consideration QoS requirements. Our tests show that protocol switching involves little performance overhead and runs efficiently. Our evaluations also show that the proposed approach for achieving self-adaptation for communication protocols is effective where optimized configurations of protocols can be obtained with acceptable performance and quality by GAs.
virtualization technologies in distributed computing | 2011
Åke Edlund; Maarten Koopmans; Zeeshan Ali Shah; Ilja Livenson; Frederik Orellana; Jukka Kommeri; Miika Tuisku; Pekka T. Lehtovuori; Klaus Marius Hansen; Helmut Neukirchen; Ebba Þóra Hvannberg
In this paper, we describe the findings of the NEON project - a cross-Nordic - Sweden, Norway, Denmark, Finland and Iceland - project evaluating the usefulness of private versus public cloud services for HPC users. Our findings are briefly that private cloud technology is not mature enough yet to provide a transparent user experience. It is expected that this will be the case mid 2012. The cost efficiency of both public and private cloud should be continuously monitored as there is a strong downward trend. This conclusion is supported by NEON experimenting as well as larger initiatives e.g. StratusLab reports. Public cloud technology is mature enough but lacks certain features that will be necessary to include cloud resources in a transparent manner in a national infrastructure like the Norwegian NOTUR (www.notur.no) case, e.g. with respect to quota management. These features are expected to emerge in 2011 via third party management software and in the best of breed public cloud services. Public clouds are competitive in the low end for non-HPC jobs (low memory, low number of cores) on price. A significant fraction (ca. 20%) of the jobs running on the current Nordic supercomputer infrastructure are potentially suitable for cloud-like technology. This holds in particular for singlethreaded or single-node jobs with small/medium memory requirements and non-intensive I/O. There is a backlog of real supercomputer jobs that suffers from the non-HPC jobs on the supercomputer infrastructure. Off-loading these non-HPC jobs to a public cloud would effectively add supercomputing capacity. Another finding is that available storage capacity is not accessible in a user-friendly way; most storage clouds are only accessible via programmable interfaces. A number of experiments and piloting are presented to support these claims.
Proceedings of The International Symposium on Open Collaboration | 2014
M. M. Mahbubul Syeed; Klaus Marius Hansen; Imed Hammouda; Konstantinos Manikas
Existing studies show that open source projects may enjoy high levels of socio-technical congruence despite their open and distributed character. Such observations are yet to be confirmed in the case of larger open source ecosystems in which developers contribute to different projects within the ecosystem. In this paper, we empirically study the relationships between the developer coordination activities and the project dependency structure in the Ruby ecosystem. Our motivation is to verify whether the ecosystem context maintains the high socio-technical congruence levels observed in many smaller scale FLOSS (Free/Libre Open Source Software) projects. Our study results show that the collaboration pattern among the developers in Ruby ecosystem is not necessarily shaped by the communication needs indicated by the dependencies among the ecosystem projects.
Knowledge Based Systems | 2014
Weishan Zhang; Klaus Marius Hansen; Mads Ingstrup
Self-management capabilities for pervasive computing systems are critical in improving dependability, usability, and autonomicity. However, realizing self-management is not an easy task due to complexities of implementing autonomous behaviors. It has been recognized that a single autonomicity handling mechanism is not sufficient to realize comprehensive self-management capabilities when different technologies are involved. Therefore, we propose a hybrid approach, the LinkSmart Three Layered architectural (LinkSmart-3L) style, in which different architecture styles are incorporated. The LinkSmart-3L style enables self-management at an architectural level. In our approach, semantic web technologies are used to achieve comprehensive context-awareness and extensibility of self-management capabilities, genetic algorithms are used to achieve configuration optimizations, and a planner is used to compute planning procedures on how to arrive at an optimum system configuration based on current architectural structure of the underlying system using an architectural query language. These technologies are integrated seamlessly based on the service oriented computing (SoC) paradigm. We have extensively evaluated both runtime and development time qualities of our implementation of the style. These evaluations can serve as guidelines for evaluating other middleware systems. We conclude that our approach is usable and effective in achieving these quality attributes.