Automating Object-Oriented Software Development; Methods Workshop

Bedir Teki̇nerdoğan, P.M. van den Broek, Motoshi Saeki, Pavel Hruby, Gerson Sunyé · University of Twente Research Information · 2001

Current software projects have generally to deal with producing and managing large and complex software products.It is generally believed that applying software development methods are useful in coping with this complexity and for supporting quality.As such numerous object-oriented software development methods have been defined.Nevertheless, methods often provide a complexity by their own due to their large number of artifacts, method rules and their complicated processes.We think that automation of software development methods is a valuable support for the software engineer in coping with this complexity and for improving quality.This paper presents a summary and a discussion of the ideas that were raised during the workshop on automating object-oriented software development methods.Automating Object-Oriented Software Development Methods complexity, increase reusability, and provide better support for adaptability, customizability and continuous improvement.Unfortunately, apart from the many environments with diagram editors and visualization tools, existing object-oriented methods are basically described in separate handbooks and manuals.Complete and integrated tools, which support the entire life cycle, are not yet present in practice.This workshop aimed to identify the fundamental problems of automating methods and to explore the mechanisms for constructing case tools that provide full support for methods.The initial topics of interest were the following:• Meta-models for software development methods -How to model software and management artifacts?-Which meta-models are needed?-Development process patterns.• Active rule/process support for methods -How to formalize heuristic rules of methods?-How to integrate rules in case tools.-How to formalize process of methods.• Method engineering -Tailoring and composing methods.-Refinement of methods to projects.-Inconsistencies in method integration.• Case tools for method generation -Experiences with meta-case tools.-Design of meta-case tools.• Automated support for quality reasoning -Tools for quality management -Automated support for alternatives selection.• Existing case tools -Overview/comparison of existing tools with respect to method support -Extensions to existing case toolsIn the following sections we will report on the ideas that were developed at this workshop.To understand the context, we will first explain the basic elements of a method in section 2 followed by the rationale for applying a method in section 3. Section 4 will present the rationale for automating methods.In section 5 we will provide the program of the workshop and present the categorization and discussion on the papers.Section 6 presents the discussions and the ideas that were developed during the workshop.We will conclude in section 7. What is a Method?In order to automate methods we first need to understand the basic elements of methods.Figure 1 represents a methodological framework for software development, which consists of four basic layers.The application layer represents the software product being developed using this methodological framework.The method layer Automating Object-Oriented Software Development Methods processes, most CASE environments need to support several methods.To be able to support multiple methods, modern CASE environments basically adopt meta-models of these methods, which can be tailored by method designers.A typical example is the meta-model of the Unified Modeling Language (UML) [6].The quality of metamodels basically depends on the scope of the models it can describe and its adaptability and extensibility with future requirements.Providing meta-models of existing models is not a trivial task, and method engineering knowledge may provide systematic activities to do this properly.In the same way that meta-models describe models in a particular language, metameta-models express meta-models.To express these ideas the four-level architecture [5] has been accepted as an architectural framework for model, meta-models and meta-meta-models.This architecture is shown in Figure 2.

Read the paper · More papers on PaperTik