|Title||\sc Troll - An Object Oriented Formal Method for Distributed Information System Design: Syntax and Pragmatics|
|Publication Type||Conference Paper|
|Year of Publication||1997|
|Authors||Denker, G., and P. Hartel|
|Publisher||Technische Universität Braunschweig|
The importance of conceptual modeling and design of information systems are widely accepted. They are responsible for bridging the gap between the user's world and the developer's world. This implies that the language must be abstract, supporting a variety of concepts for describing real world entities. On the other hand the language should be declarative so that implementation decisions have not to be considered in early development phases. Most problems in software development are related to misunderstanding of user requirements. A formal language should be used to avoid ambiguity in design documents. In order to improve practice in information system development students have to be educated along these requirements. In the last 6 years we developed with the \sc Troll language a specific formalism for information system modeling and design. Recently we brought the language from pure research to practice in several projects and started to teach concepts and ideas to computer science students in their 3rd and 4th year. Part of what is presented in this report has been taught in lectures and courses over the last 3 years. The second author has given lectures with similar content in the winter terms 1994/1995 and 1995/1996 at Technical University of Braunschweig, Germany. The first author taught a course in the winter term 1996/1997 at Technical University of Braunschweig and presented this work in an one week spring school held at Vilnius University, Lithuania, early 1997. In this report we describe the textual object oriented specification language \sc Troll (Version 3.0) together with its graphical part \sc OmTroll. We present our object oriented method by means of examples. Both language parts, textual and graphical notation, are introduced and illustrated by examples. We establish a method by identifying several steps which are performed during the design process. Each step is accompanied by several rules which are understood as guidelines for the designer to help him/her with design decisions.