Colin Atkinson

Colin Atkinson
Universität Mannheim ·  Lehrstuhl für Softwaretechnik

BSc (Hons) Mathematical Physics

About

212
Publications
63,693
Reads
How we measure 'reads'
A 'read' is counted each time someone views a publication summary (such as the title, abstract, and list of authors), clicks on a figure, or views or downloads the full-text. Learn more
5,558
Citations
Citations since 2016
22 Research Items
1465 Citations
2016201720182019202020212022050100150200250
2016201720182019202020212022050100150200250
2016201720182019202020212022050100150200250
2016201720182019202020212022050100150200250

Publications

Publications (212)
Article
Full-text available
This paper presents a solution to the MULTI Process Challenge which was first posed to the participants of the MULTI workshop at the MODELS conference in 2019 and subsequently adapted for this special issue of the EMISA Journal. The structure of the paper therefore follows the guidelines laid out in the Challenge description. The models are represe...
Article
Digital twins (DTs) lie at the heart of a new vision to support manufacturing and cyber-physical systems. The realization of their full potential requires complex technical solutions, due to unprecedented synchronization requirements, the need to support scenario playing and solution space exploration, and their nature as hubs that tie together num...
Conference Paper
Full-text available
In projection-based modeling environments, users work with views of the modelled system or enterprise that are generated dynamically, on demand, from a Single Underling Model (SUM). Moreover, they usually cannot change the SUM directly, but can only influence its contents indirectly via views. This means that at least some of the views need to be e...
Conference Paper
Full-text available
Projective modeling environments offer a more efficient and scalable way of supporting multiple views of large software systems than traditional, synthesis-based approaches to view-based development. However , the definition of the view projection transformations needed to create views, on demand, from the single underlying model and ensure that th...
Article
Given the scale, complexity and variety of enterprise architectures, approaches for modeling them need to be as simple and flexible as possible in order to minimize the accidental complexity within enterprise architecture models. Multi-level modeling techniques offer an effective way of achieving this but to date there has been little research into...
Chapter
Multi-view environments for software development allow different views of a software system to be defined to cover the requirements of different stakeholders. One way of ensuring consistency of overlapping information often contained in such views is to project them “on demand” from a Single Underlying Model (SUM). However, there are several ways t...
Article
Most view-based modeling approaches are today based on a “synthetic” approach in which the views hold all the information modeled about a system and are kept consistent using explicit, inter-view correspondence rules. The alternative “projective” approach, in which the contents of views are “projected” from a single underlying model on demand, is f...
Conference Paper
Test amplification approaches take a manually written set of tests (input/output mappings) and enhance their effectiveness for some clearly defined engineering goal such as detecting faults. Conceptually, they can either achieve this in a ``black box'' way using only the initial ``seed'' tests or in a ``white box'' way utilizing additional inputs s...
Conference Paper
Today's advanced agile practices such as Continuous Integration and Test-Driven Development support a wide range of software development activities to facilitate the rapid delivery of high-quality software. However, the reuse of pre-existing, third-party software components is not one of them. Software reuse is still primarily perceived as a time-c...
Article
Full-text available
Model-based testing has gained widespread acceptance over the last decade, not only in academia but also in industry. Despite its powerful features of abstraction and automation, most existing approaches and tools provide only limited support for regression testing. Yet regression testing, the repeated execution of selected test cases after system...
Article
Multi-level modeling, i.e., the explicit use of multiple levels of classification in modeling, is a conservative extension of the well-established, traditional two-level object-oriented paradigm. Two-level object-oriented technology has been tremendously successful in both modeling (e.g., UML) and programming (e.g., Java). However, it has been show...
Article
Full-text available
One of the biggest obstacles to software reuse is the cost involved in evaluating the suitability of possible reusable components. In recent years, code search engines have made significant progress in establishing the semantic suitability of components for new usage scenarios, but the problem of ranking components according to their non-functional...
Conference Paper
The introduction of ontological classification to support domain-metamodeling has been pivotal in the emergence of multi-level modeling as a dynamic research area. However, existing expositions of ontological classification have only used a limited context to distinguish it from the historically more commonly used linguistic classification. In impo...
Book
Full-text available
The development of complex software-intensive systems involves many stakeholders who contribute their expertise on specific aspects of the system under construction. Domain-specific languages (DSLs) are typically used by stakeholders to express their knowledge of the system using dedicated tools and abstractions. In this chapter, we explore differe...
Conference Paper
Capturing relationships between concepts in a domain is as important as capturing the concepts themselves. Modeling languages reflect this by providing connections with rich semantics, such as associations and links, thus providing a key advantage over approaches that support relationships with simple references only. While connections for two-leve...
Article
Since multi-level modelling emerged as a strategy for leveraging classification levels in conceptual models, there have been discussions about what it entails and how best to support it. Recently, some authors have claimed that the deep modelling approach to multi-level modelling entails paradoxes and significant weaknesses. By drawing upon concept...
Conference Paper
View-based modeling approaches based on the notion of a Single Underlying Model (SUM) revolve around the use of projective views to manipulate the SUM. Defining view types is a challenging task since it includes the definition of view element types and the definition of transformations to extract data from the SUM to populate the view. The latter c...
Article
It is impossible to imagine today's production facilities without robots. With precise and optimized hardware/ software solutions, they automate most of the components in modern production approaches. As robot hardware gets cheaper, software solutions more sophisticated, and their acceptance within society increases, robots will soon become an esse...
Conference Paper
One of the drawbacks of a pragmatic, white box approach to the reuse of software is that reusable components often have more built-in functionality than is needed for a particular (re)usage scenario. This functionality either has to be invasively removed by changing the source code of the component, with the corresponding risk of errors, or has to...
Conference Paper
Pragmatic software reuse, in which existing software components are invasively adapted for use in new projects, involves three main activities andash; selection, adaptation and integration. Most of the academic research into pragmatic research to date has focused on the second of these activities, adaptation, especially the definition of reuse plan...
Article
As the number and diversity of technologies involved in building enterprise systems continues to grow so does the importance of modeling tools that are able to present customized views of enterprise systems to different stakeholders according to their needs and skills. Moreover, since the range of required view types is continuously evolving, it mu...
Article
As the foundation of EDI, B2C and B2B, distributed computing is a key enabler for today's enterprises and will become even more important with the advent of cloud computing on the one hand and an ever more agile work organization on the other hand. Whilst the rapid evolution of distributed computing technologies in the last three decades has delive...
Chapter
Green specifications provide a foundation for reducing the environmental impact of computing applications and improving the consumption behavior of users by providing a clear and precise specification of the environmental impact of specific services. They can either be used to specify the actual behavior and environmental impact of existing service...
Article
One of the most important features of enterprise architecture modeling approaches is the set of views and viewpoints they use to convey the properties of enterprise systems - that is, their viewpoint framework. All mainstream approaches such as Zachman, RM-ODP, TOGAF and Archimate use the notion of independent 'concerns' or dimensions to organize t...
Chapter
Effective software reuse has long been regarded as an important foundation for a more engineering-like approach to software development. Proactive recommendation systems that have the ability to unobtrusively suggest immediately applicable reuse opportunities can become a crucial step toward realizing this goal and making reuse more practical. This...
Conference Paper
Full-text available
As the range of modelling approaches that claim to be "multi-level" diversifies, there is growing debate in the literature about what multi-level modelling actually is and what form supporting languages and infrastructures should take. However, there is no consensus yet on how this debate should be framed and what objective criteria should be used...
Article
Although there is growing consensus on the need to move to comprehensive, view-based approaches to software engineering, there is much less consensus on what views and viewpoints should be used to do this and what relationship they should have to the system being viewed. One approach that aims to provide a simple yet powerful approach to view-based...
Article
Models and model-driven development methods are now part of mainstream software development projects, but since the functionality of complex systems lies beyond the representative capabilities of a single metamodel, an increasing variety of heterogeneous models and languages are used in the various phases of software development. Information about...
Conference Paper
A large proportion of the domain information conveyed in models is contained in the model element “designators” — the characterizing and identifying textual expressions appearing in the headers of model element visualizations. However, the notational support for representing such designators is usually non-uniform, incomplete and sensitive to the c...
Article
Current approaches for reducing IT's environmental impact typically are generic and rarely take into account services' actual functionality. To develop more powerful, service-specific strategies for reducing IT's carbon footprint, we need more complete and widely understandable specifications that describe exactly a service's functionality, the lev...
Article
In the future, robots will play an increasingly important role in many areas of human society from domestic housekeeping and geriatric care to manufacturing and running businesses. To best exploit these new opportunities, and allow third party developers to create new robot applications in as simple and efficient a manner as possible, new user-frie...
Conference Paper
As the number and diversity of technologies involved in building enterprise systems continues to grow so does the importance of modeling tools that are able to present customized views of enterprise systems to different stakeholders according to their needs and skills. Moreover, since the range of required view types is continuously evolving, it mu...
Conference Paper
Two notions of “search” can be used to enhance the software engineering process — the notion of searching for optimal architectures/designs using AI-motivated optimization algorithms, and the notion of searching for reusable components using query-driven search engines. To date these possibilities have largely been explored separately within differ...
Conference Paper
Full-text available
Domain-specific models, and the modeling languages that support them, have played a central role in the success of model-driven development and its ability to bridge the abstraction gap between software implementation technologies and human developers. However, the current generation of domain-specific modeling tools is firmly split into two camps...
Conference Paper
Orthographic Software Modeling (OSM) is a view-centric software engineering approach that aims to leverage the orthographic projection metaphor used in the visualization of physical objects to visualize software systems. Although the general concept of OSM does not prescribe specific sets of views, a concrete OSM environment has to be specific abou...
Conference Paper
Single-Underlying-Model (SUM) based software engineering environments are founded on the principle of dynamically generating all required descriptions and visualizations of software systems "on demand" from a single underlying information source rather than by storing them decentrally as separately-persisted artifacts. It is possible to implement s...
Chapter
The first generation of software retrieval systems developed some 25 years ago used simple bibliographic indexing techniques adapted from library science to support the retrieval of relatively small numbers of in-house software artifacts. While these were sufficient at the time, they were completely unscaleable to the vast numbers of software artif...
Conference Paper
Full-text available
The design and test of safety-critical systems requires the combined application of methods from various disciplines at the same time. In this work, a unified framework for developing and testing such systems is presented. To this aim, separated concepts are integrated into a component-based software development process. These are: behavior-based s...
Conference Paper
Full-text available
The development of defect tests is still a very labour intensive process that demands a high-level of domain knowledge, concentration and problem awareness from software engineers. Any technology that can reduce the manual effort involved in this process therefore has the potential to significantly reduce software development costs and time consump...
Conference Paper
As the trend towards clouds and the delivery of software applications “as a service” continues, the importance of controlling, and if possible reducing, the environmental impact of the supporting data centers assumes ever more importance. However, increasing efficiency alone will not necessarily have the desired impact if computing service consumpt...
Conference Paper
This paper describes a large, unabridged data-set of Java source code gathered and shared as part of the Merobase Component Finder project of the Software-Engineering Group at the University of Mannheim. It consists of the complete index used to drive the search engine, www.merobase.com, the vast majority1 of the source code modules accessible thro...
Article
As practical tools for disciplined multi-level modeling have begun to mature, the problem of supporting simple and efficient transformations to-and-from multi-level models to facilitate interoperability has assumed growing importance. The challenge is not only to support efficient transformations between multi-level models, but also between multi-l...
Chapter
Full-text available
The cloud has the potential to revolutionize the way software is developed and governed, and to consign much of the artificial complexity involved in software engineering today to history. The cloud promises to unlock the potential of large, heterogeneous distributed development teams by supporting social interaction, group dynamics and key project...
Article
Full-text available
Given the importance of clients in service-oriented computing, and the ongoing evolution of distributed system realization technologies from client/service architectures, through distributed-object and service-oriented architectures to cloud computing, there is a growing need to lower the complexities and barriers involved in the development of cli...
Conference Paper
Full-text available
Multi-level modeling based on deep instantiation has attracted growing interest over the last few years as a better way of creating and organizing models capturing problem domains featuring more than one classification level. However, until recently the approach has lacked practical tool support. This work introduces Melanie, a new MultiLevel Model...
Conference Paper
Research in enterprise system security has traditionally focused on the development of theoretical models capable of demonstrating mathematically that they possess desired security properties. However, recent results confirm that many of these models cannot be applied in practice because of the unpredictability of human participants in business pro...
Conference Paper
One of the main advantages of multi-level modeling environments over traditional modeling environments is that all ontological classification levels are treated in a uniform way and are all equally available for immediate, on-the-fly modification. However, such flexibility is a two-edged sword, since a minor change in a (meta-) ontological level ca...
Article
While the notion of components has had a major positive impact on the way software architectures are conceptualized and represented, they have had relatively little impact on the processes and procedures used to develop software systems. In terms of software development processes, use case-driven iterative and incremental development has become the...
Article
Domain-Specific Modeling Languages (DSMLs) have received great attention in recent years and are expected to play a big role in the future of software engineering as processes become more view-centric. However, they are a “two-edged sword”. While they provide strong support for communication within communities, allowing experts to express themselve...
Article
Research on software reuse over the last decade has removed a lot of obstacles to its practical adoption. However, despite the claims in the software reuse literature of 1990's there are still some fundamental research challenges to be addressed, especially the problem of delivering “good” (i.e. high quality) search results with high precision and...
Conference Paper
As practical tools for disciplined multi-level modeling have begun to emerge, the problem of supporting simple and efficient transformations to-and-from multi-level model content has started to assume growing importance. The problem is not only to support efficient transformations between multi-level models, but also between multi-level and traditi...
Book
This book constitutes the refereed proceedings of the 15th International Conference on Model Driven Engineering Languages and Systems, MODELS 2012, held in Innsbruck, Austria, in September/October 2012. The 50 papers presented in this volume were carefully reviewed and selected from a total of 181 submissions. They are organized in topical sections...
Article
Full-text available
A design approach is proposed for the efficient specification and realization of dynamic system monitoring components based on a unified system component model. Starting form the formal specification of the component under monitoring and a generic monitoring model, runtime executable monitor components are constructed in a straightforward way. Hybr...
Article
Full-text available
Assembling new software systems from prefabricated components is an attractive alternative to traditional software engineering practices which promises to increase reuse and reduce development costs. However, these benefits will only occur if separately developed components can be made to work effectively together with reasonable effort. Lengthy an...
Conference Paper
Full-text available
Given the projected growth in IT over the coming decades it is important that the supply of, and demand for, computing services be made as environmentally friendly as possible. One of the key technologies for achieving this will undoubtedly be cloud computing which opens up many new opportunities for streamlining the way computing services are deli...
Conference Paper
Full-text available
Given the importance of clients in service-oriented computing, and the ongoing evolution of distributed system and application realization technologies from client/service architectures, through distributed-object and service-oriented to cloud computing, there is a growing need to lower the complexities and barriers involved in the development of c...
Conference Paper
Full-text available
As the size and complexity of services has grown over the years, so has the number of different models and view types used to visualize them. However, in most development environments used today, views are usually organized in a fairly simple way within an arrangement of trees, and are often mixed arbitrarily with the artifacts they contain or visu...
Article
The prime obstacle to automated defect testing has always been the generation of “correct” results against which to judge the behavior of the system under test ‐ the “oracle problem”. So called “back-to-back” testing techniques that exploit the availability of multiple versions of a system to solve the oracle problem have mainly been restricted to...
Conference Paper
Today's testing technologies and tools are all essentially based on the assumption that testers have full, unlimited access to systems under test along with the actual and expected results of test executions. This reflects the fact that, historically, software systems were usually developed by a single organization using components completely under...
Article
Automating software testing can significantly reduce the time and effort required to assure the quality of software systems, and over recent years significant strides have been made in test automation techniques. However, one aspect of software testing that has always resisted full automation is the determination of the expected results for given s...
Article
Full-text available
Test Sheets provide a new way of representing tests that combines the ease-of-use of tabular test description approaches with the expressiveness of programmatic approaches. Since they are semantically self-contained, and thus executable, they offer a more compact and easy-to-understand approach to test specification than code-level representations...
Conference Paper
Full-text available
In this paper we propose a typed approach to business process specification based on typed workflow charts. These can be exploited as a domain-specific programming language and facilitate tight integration between workflow definition and system dialogue programming. The approach also supports the integration of business process modeling and busines...
Conference Paper
As software services become the dominant platform for enterprise computing and B2B/B2C applications, testing their correctness and dependability assumes ever more importance. However, unlike the languages used to define and realize them, the languages used to test service-based systems have changed little over recent years. Today, tests for service...
Conference Paper
Full-text available
The composition of new applications from pre-existing parts has been one of the central notions in software reuse and component-based development for many years. Recent advances with component retrieval technologies and dynamically reconfiguring systems have brought the automated integration of components into systems into the focus of research. Ev...
Conference Paper
The need to support multiple views of complex software architectures, each capturing a different aspect of the system under development, has been recognized for a long time. Even the very first object-oriented analysis/design methods such as the Booch method and OMT supported a number of different diagram types (e.g. structural, behavioral, operati...
Conference Paper
Although testing is one of the most important activities in software development, especially in projects which emphasize agile development, the basic approach used to define and report tests has changed little since JUnit was introduced over a decade ago. JUnit and its derivatives such as NUnit significantly simplify the task of programming tests b...