Building an object-oriented model requires knowledge of process and techniques. Representing the model itself requires the use of a notation underpinned by a rigorous definition. Today, this usually starts with a metamodel. Together, the metamodel and the notation are known as a "modeling language". Two modeling lanugages are described and compared: UML and OML (a UML variant). Advanced use of both languages is described particularly for concepts such as roles, for stereotypes and for aggregations, associations and other relationships. This tutorial will focus on the formal underpinning of OML and UML by means of metamodels. The OML metamodel itself derives from the 1995 COMMA project in which all then current methodologies were analyzed for their implicit metamodel. In addition, many of the developers of OML were also involved as reviewers for UML. Following the metamodel analysis, the accompanying notations of OML and UML are then described and linked closely to the metamodels previously described. In all cases, the focus is restricted to the core models --- namely the static descriptors of concepts and relationships.
Beyond RUP
Professor Brian Henderson-Sellers, Faculty of Information Technology,
University of Technology, Sydney, Australia
Object technology is a growing approach for the development of quality software. It provides a sophisticated environment to support good software engineering practice. Use of object technology should not be restricted to languages but should encompass full lifecycle support by use of an object-oriented (OO) development methodology or process. Integrated process-focussed OO approaches to software development, whilst vital to successful project management, have not been a strong feature of extant approaches popularly practised. RUP and OPEN have been developed independently primarily to address these issues.
In this presentation, the case for process is put first. Three different processes, at different granularities and foci, are identified and explained. Third generation OO processes are then considered, the two prime examples being RUP (Rational Unified Process) and OPEN (Object-oriented Process, Environment and Notation). These are compared and evaluated in terms of their tailorability, their terminology, and their underpinning lifecycle models. By generalization of the RUP process, it is then shown that it is commensurate with a higher level framework or metamodel. This higher level framework (identical with OPEN's framework) is then used to create several instances, not just the RUP instance, but other instances of an OO process that do not have the same assumptions and constraints as are embodied in RUP. The result is thus a flexible and tailorable framework (OPEN) which is "beyond RUP". This new framework is then elaborated in terms of the technical, sociological and methodological support offered including how a standard notation like UML can be used successfully.
Professor Brian Henderson-Sellers, Faculty
of Information Technology,
University of Technology, Sydney, Australia
Brian Henderson Sellers is Professor of Information Systems and Director of the Centre for Object Technology Applications and Research (COTAR) at the University of Technology, Sydney. He is author of nine books on object technology and is well-known in OO metrics (MOSES, COMMA and OPEN). He is a member of the pUML research group. Brian has also been Regional Editor of Object-Orineted Systems, a member of the editorial board of Object Magazine/Component Strategies and Object Expert for many years, was Founder of the Object-Oriented Special Interest Group of the Australian Computer Society (NSW Branch) and Chairman of the Computerworld Object Developer's Awards committee for ObjectWorld 94 and 95 (Sydney). He is a frequent, invited speaker at international OT conferences.
__________________________________________________________________
APSEC '2000 Workshop on Two-Stage Derivation of System Architectures
The theme of the workshop is the two-stage derivation of system architectures from a full business case for a new system. The two stages are, firstly, the transformation of the business case to a complete set of functional and non-functional requirements. The second stage is the transformation from the non-functional requirements to the system architecture. The goals of the workshop are to establish that this pair of transformations are both feasible and relevant.
Pre-workshop activities should include a read of "Software Architectures: Perspectives on an Emerging Discipline" by M. Shaw and D. Garlan. This sets the architectural scene, towards which the workshop should work.
Workshop Chair: Prof. Fergus O'Brien is the Director of the Software Engineering Research Centre at RMIT University in Melbourne, Australia. Click here to contact workshop chair.
___________________________________________________________________
APSEC '2000 Workshop on The Future of Software Engineering - An Interdisciplinary Approach
The theme of the workshop is to consider the future of software engineering as an interdisciplinary activity by: a) identifying and challenging the assumptions which drive current software engineering processes; and b) drawing on the models and techniques which are used in cognate, related disciplines, in order to transform software engineering into a more holistic, interdisciplinary activity which breaks down rigid barriers between disciplines, representations and processes. A number of published articles on the future of software engineering will be used as a starting point. The workshop will then be divided into four sessions. Session 1 will briefly review existing views on the future of software engineering and the future context in which software will be developed, used and maintained. Session 2 will examine how software must behave in order to meet future demands. Session 3 will examine the external influences on software engineering and how they might impact the structure and working of software, the development processes to build software and how these impact development and use of software. Session 4 will draw together the various threads developed in the previous sessions to understand how the software engineering process is a multidimensional activity which must draw more explicitly on the knowledge, models and processes of related disciplines.
Workshop Chair: Paul Layzell is Professor of Software Management, leading the Software Management Group in the Department of Computation at UMIST (The University of Science and Technology in Manchester). Click here to contact him.
_________________________