Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where Klaas van den Berg is active.

Publication


Featured researches published by Klaas van den Berg.


Software and Systems Modeling | 2011

Semantics of trace relations in requirements models for consistency checking and inferencing

Arda Goknil; Ivan Kurtev; Klaas van den Berg; Jan-Willem Veldhuis

Requirements traceability is the ability to relate requirements back to stakeholders and forward to corresponding design artifacts, code, and test cases. Although considerable research has been devoted to relating requirements in both forward and backward directions, less attention has been paid to relating requirements with other requirements. Relations between requirements influence a number of activities during software development such as consistency checking and change management. In most approaches and tools, there is a lack of precise definition of requirements relations. In this respect, deficient results may be produced. In this paper, we aim at formal definitions of the relation types in order to enable reasoning about requirements relations. We give a requirements metamodel with commonly used relation types. The semantics of the relations is provided with a formalization in first-order logic. We use the formalization for consistency checking of relations and for inferring new relations. A tool has been built to support both reasoning activities. We illustrate our approach in an example which shows that the formal semantics of relation types enables new relations to be inferred and contradicting relations in requirements documents to be determined. The application of requirements reasoning based on formal semantics resolves many of the deficiencies observed in other approaches. Our tool supports better understanding of dependencies between requirements.


acm symposium on applied computing | 2006

Evaluation of rule-based modularization in model transformation languages illustrated with ATL

Ivan Kurtev; Klaas van den Berg; Frédéric Jouault

This paper studies ways for modularizing transformation definitions in current rule-based model transformation languages. Two scenarios are shown in which the modular units are identified on the base of the relations between source and target metamodels and on the base of generic transformation functionality. Both scenarios justify modularization by requiring adaptability and reusability in transformation definitions. To enable representation and composition of the identified units, a transformation language must provide proper modular constructs and mechanisms for their integration. We evaluate several implementations of the scenarios by applying different transformation techniques: usage of explicit and implicit rule calls, and usage of rule inheritance. ATLAS Transformation Language (ATL) is used to illustrate these implementations. The experience with these scenarios shows that current languages provide a reasonably full set of modular constructs but may have problems in handling some composition tasks.


Journal of Functional Programming | 1993

Teaching functional programming to first-year students

S.M.M. Joosten; Klaas van den Berg; Gerrit van der Hoeven

In the period 1986–1991, experiments have been carried out with an introductory course in computer programming, based on functional programming. Due to thorough educational design and evaluation, a successful course has been developed. This has led to a revision of the computer programming education in the first year of the computer science curriculum at the University of Twente. This article describes the approach, the aim of the computer programming course, the outline and subject matter of the course, and the evaluation. Educational research has been done to assess the quality of the course.


Scientific Programming | 2006

Analysis of crosscutting across software development phases based on traceability

Klaas van den Berg; José María Conejero; Juan Hernández

Traceability of requirements and concerns enhances the quality of software development. We use trace relations to define crosscutting. As starting point, we set up a dependency matrix to capture the relationship between elements at two levels, e.g. concerns and representations of concerns. The definition of crosscutting is formalized in terms of linear algebra, and represented with matrices and matrix operations. In this way, crosscutting can be clearly distinguished from scattering and tangling. We apply this approach to the identification of crosscutting across early phases in the software life cycle, based on the transitivity of trace relations. We describe an illustrative case study to demonstrate the applicability of the analysis.


Science of Computer Programming | 2007

Rule-based modularization in model transformation languages illustrated with ATL

Ivan Kurtev; Klaas van den Berg; Frédéric Jouault

This paper studies ways for modularizing transformation definitions in current rule-based model transformation languages. Two scenarios are shown in which the modular units are identified on the basis of relations between source and target metamodels and on the base of generic transformation functionality. Both scenarios justify modularization by requiring adaptability and reusability in transformation definitions. To enable representation and composition of the identified units, a transformation language must provide proper modular constructs and mechanisms for their integration. We evaluate several implementations of the scenarios by applying different transformation techniques: usage of explicit and implicit rule calls, and usage of rule inheritance. ATLAS Transformation Language (ATL) is used to illustrate these implementations. The experience with these scenarios shows that current languages provide a reasonably full set of modular constructs but may have problems in handling some composition tasks.


Journal of Systems and Software | 2014

Generation and validation of traces between requirements and architecture based on formal trace semantics

Arda Goknil; Ivan Kurtev; Klaas van den Berg

We present an approach for automatic trace generation and validation of traces between requirements and architecture.Requirements relations and architecture verification techniques are used.A trace metamodel is defined with commonly used trace types between requirements and architecture.We use the semantics of traces and requirements relations for generating and validating traces with a tool support.The tool is based on model transformation in ATL and term-rewriting logic in Maude. The size and complexity of software systems make integration of the new/modified requirements to the software system costly and time consuming. The impact of requirements changes on other requirements, design elements and source code should be traced to determine parts of the software to be changed. Considerable research has been devoted to relating requirements and design artifacts with source code. Less attention has been paid to relating requirements (R) with architecture (A) by using well-defined semantics of traces. Traces between R&A might be manually assigned. This is time-consuming, and error prone. Traces might be incomplete and invalid. In this paper, we present an approach for automatic trace generation and validation of traces between requirements (R) and architecture (A). Requirements relations and architecture verification techniques are used. A trace metamodel is defined with commonly used trace types between R&A. We use the semantics of traces and requirements relations for generating and validating traces with a tool support. The tool provides the following: (1) generation and validation of traces by using requirements relations and/or verification of architecture, (2) generation and validation of requirements relations by using traces. The tool is based on model transformation in ATL and term-rewriting logic in Maude.


document engineering | 2003

Model driven architecture based XML processing

Ivan Kurtev; Klaas van den Berg

A number of applications that process XML documents interpret them as objects of application specific classes in a given domain. Generic interfaces such as SAX and DOM leave this interpretation completely to the application. Data binding provides some automation but it is not powerful enough to express complex relations between the application model and the document syntax. Since document schemas play the role of models of documents we can define document processing as model-to-model transformation in the context of Model Driven Architecture (MDA). We define a transformation language for specifying transformations from XML schemas to application models. Transformation execution is an interpretation of a document that results in a set of application objects.


Information & Software Technology | 2014

Change impact analysis for requirements: A metamodeling approach

Arda Goknil; Ivan Kurtev; Klaas van den Berg; Wietze Spijkerman

Context: Following the evolution of the business needs, the requirements of software systems change continuously and new requirements emerge frequently. Requirements documents are often textual artifacts with structure not explicitly given. When a change in a requirements document is introduced, the requirements engineer may have to manually analyze all the requirements for a single change. This may result in neglecting the actual impact of a change. Consequently, the cost of implementing a change may become several times higher than expected. Objective: In this paper, we aim at improving change impact analysis in requirements by using formal semantics of requirements relations and requirements change types. Method: In our previous work we present a requirements metamodel with commonly used requirements relation types and their semantics formalized in first-order logic. In this paper the classification of requirements changes based on structure of a textual requirement is provided with formal semantics. The formalization of requirements relations and changes is used for propagating proposed changes and consistency checking of proposed changes in requirements models. The tool support for change impact analysis in requirements models is an extension of our Tool for Requirements Inferencing and Consistency Checking (TRIC). Results: The described approach for change impact analysis helps in the elimination of some false positive impacts in change propagation, and enables consistency checking of changes. Conclusion: We illustrate our approach in an example which shows that the formal semantics of requirements relations and change classification enables change alternatives to be proposed semi-automatically, the reduction of some false positive impacts and contradicting changes in requirements to be determined.


european conference on model driven architecture foundations and applications | 2003

MISTRAL: a language for model transformations in the MOF meta-modeling architecture

Ivan Kurtev; Klaas van den Berg

In the Meta Object Facility (MOF) meta-modeling architecture a number of model transformation scenarios can be identified. It could be expected that a meta-modeling architecture will be accompanied by a transformation technology supporting the model transformation scenarios in a uniform way. Despite the fact that current transformation languages have similarities they are usually focused only on a particular scenario. In this paper we analyze the problems that prevent the usage of a single language for different transformation scenarios. The problems are rooted in the current organization of the MOF architecture and especially in its inability to define explicitly the mechanisms of instantiation and generalization found in different modeling languages. This causes a coupling between a transformation language and the instantiation mechanism specific for a given modeling language. We propose an organization of the MOF architecture based on a simple and uniform representation of all model elements no matter at which level they are defined. In this framework, different instantiation and generalization mechanisms are represented as a set of functions. We present a transformation language named MISTRAL acting in this framework. Transformation language is separated from the instantiation and generalization mechanisms specific for a given modeling language.


international world wide web conferences | 2005

Building adaptable and reusable XML applications with model transformations

Ivan Kurtev; Klaas van den Berg

We present an approach in which the semantics of an XML language is defined by means of a transformation from an XML document model (an XML schema) to an application specific model. The application specific model implements the intended behavior of documents written in the language. A transformation is specified in a model transformation language used in the Model Driven Architecture (MDA) approach for software development. Our approach provides a better separation of three concerns found in XML applications: syntax, syntax processing logic and intended meaning of the syntax. It frees the developer of low-level syntactical details and improves the adaptability and reusability of XML applications. Declarative transformation rules and the explicit application model provide a finer control over the application parts affected by adaptations. Transformation rules and the application model for an XML language may be composed with the corresponding rules and application models defined for other XML languages. In that way we achieve reuse and composition of XML applications.

Collaboration


Dive into the Klaas van den Berg's collaboration.

Top Co-Authors

Avatar
Top Co-Authors

Avatar

Arda Goknil

University of Luxembourg

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Researchain Logo
Decentralizing Knowledge