Forum for Academic Software Engineering Volume 5, Number 11, Tue Apr 11 12:37:14 CDT 1995 Topics: GOOSE (Generalised Object Oriented Support Environment) The Changing Rules For Systems Design Texts for SW Reuse Course?? Web sites Summer Research Programs for Women and Minorities Famous Computer Quotes NSF workshop - parallel processing Asian Computing Science Confeence 1995 The new CMU/SEI MSE Core Curriculum A------------------------------------------------------- From: "David Budgen" Subject: GOOSE (Generalised Object Oriented Support Environment) G.O.O.S.E.---summary of features ================================ Department of Computer Science Keele University Staffordshire, U.K. G.O.O.S.E. (Generalised Object Oriented Support Environment) is a software design environment that is intended to provide large-scale project support for observed designer practices. It is intended to be non-intrusive in use, and method-free in the sense of not requiring the designer to follow any particular design practices. We are now progressing to the stage of making use of it in our further research, as well as in teaching, and would like to make it available to others as a part of our process of evaluation and assessment. Project Rationale ----------------- The main aims of the project were to investigate ways of systematising and developing industrial software design practices, and to develop a prototype environment that would provide a demonstration of the ideas involved. In particular, it was intended that this would be organised so as to allow the observed practices of experienced designers to be used with large-scale systems. Specific goals for the environment included: o Using an integrated design model, based upon a set of `design elements', where different viewpoints could be used to describe relevant attributes. o Providing a method-free environment that was not dependent upon the use of any specific software development practices, and which supported the use of `opportunistic' design strategies. o Making the `design model' executable, in order to allow the designer to investigate the behaviour of the eventual system. What is available ----------------- A version of G.O.O.S.E. is now being made available for others to use in research and teaching (see details below). In its present form it includes: o A `design object base' supporting a `design model' that uses three design viewpoints (behaviour, function and structure) in an integrated and non-prescriptive manner. o A set of graphical editors that allow fragments of a design to be developed and integrated in each of the three viewpoints, together with a `viewpoint linker' used to identify where the different viewpoints are related. o An `executor' tool that enables the designer to animate designs and to explore these with the use of user-defined scenarios derived from requirements documents. o A knowledge-based `consistency checker' which provides support for maintaining consistency within a (potentially) very complex design model. o `Note editors' that can use both text and audio facilities. The notations and user interface have been designed to avoid dependency on specific design practices. The prototype also includes an option for `logging' of the actions of the designer during sessions, in order to assist with collecting experimental data about its use. Two areas in which G.O.O.S.E. is still incomplete are the lack of a data modelling viewpoint editor and the use of a flat file structure for the `design object base'. (The latter chiefly limits its ability to support very large designs.) Support documentation --------------------- G.O.O.S.E. is supported by a comprehensive user guide, which is available by ftp as a part of the package. The user guide also includes worked examples showing how different design strategies can be employed. Training material ----------------- We have been conducting some experiments as part of our evaluation of the system, and the training material has also been included for use by others. This material supports two training sessions of three hours, and there are exercise problems that can be used to augment the training or to provide assessment tasks. How to get hold of it --------------------- GOOSE was developed on a Sun Sparc station running SunOs 4.1.3, Openwindows and Motif 1.1. Copies of the binary code as well as user documentation and training material can be obtained by ftp from: Host: ftp.cs.keele.ac.uk Directory: pub/goose What we would like in exchange ------------------------------ Because G.O.O.S.E. is a research tool, we are interested in studying how designers adapt their practices to its use and how its features are employed (or avoided). If anyone uses it for research or teaching, we would appreciate receiving: 1. Comments, enquiries and discussion (and bug reports too) via mail to goose@cs.keele.ac.uk. 2. Copies of any log files gathered from users. If produced from a teaching exercise, it would also be helpful to have a copy of the problem specification. Acknowledgements ---------------- This work was funded by a grant from the Engineering and Physical Sciences Council (EPSRC), with some further funding from the Defence Research Agency (DRA). David Budgen, Andrew C Reeves, Mustafa Marashi 7 April 1995 A------------------------------------------------------- From: kpierce@d.umn.edu (Keith Pierce) Subject: The Changing Rules For Systems Design From INFOSYS v2 n11; Apr 7 95 THE CHANGING RULES FOR SYSTEMS DESIGN: Systems analysts are increasingly accepting the fact that users are NEVER able to articulate everything they want, because they can never anticipate all the business situations that could arise. Analysts in the future will focus on using abstract, reconfigurable components to build systems resilient to change. As a result, the current distinction between developers and users will blur, with the two groups building systems together using common natural constructs from a particular business environment (e.g., cash flows, interest rate scenarios, risk profiles). These constructs will be as natural as using a spreadsheet program -- but whereas current IS departments seldom provide any real support for spreadsheet development, a prominent role of future IS professionals will be to act as mentors within the application process and to improve user-developed systems by making them standard, robust and more flexible. (R.Pawson, J- L.Bravard, L.Cameron, "The Case for Expressive Systems," Sloan Management Review, Win.'95, p.41) A------------------------------------------------------- From: Edward Jones Subject: Texts for SW Reuse Course?? Can you recommend a textbook for a senior level course in software reengineering/reuse? The objective of the course is to identify economic, social and technical issues of treating existing software as a renewable asset, to be "recycled" in part or in whole. Student projects will include "stripping down" existing programs into components; designing small applications from recycled components; investigation of social issues of information rights, piracy, etc.. I'm desperate. Any suggestion you have would be a great help. You need no limit your response to textbook ... if your are aware of courseware, I'd appreciate that too. Many thanks. Ed Jones, PhD Visiting Associate Professor (Harris Corporation) Florida A&M University Tallahassee, FL 32303 A------------------------------------------------------- From: Keith Pierce Subject: Web sites The ACM maintains the following web sites: Living Online Publications and Services Catalogue. If you have a forms-supporting browser you can order online. http://info.acm.org/catalog/ 1995 Graduate Assistantship Directory (GAD). Also connects to home pages of many cs departments. http:/info.acm.org/gad/gadtitle.html -- Keith Pierce 726-7194 Department of Computer Science 327A Heller Hall A------------------------------------------------------- From: Keith Pierce Subject: Summer Research Programs for Women and Minorities The Center for Research on Parallel Computation is sponsoring two summer research programs for undergraduates. Both are June 19 through August 31 in Pasadena, California, USA. One is for women and the other for minorities. For additional information, contact Theresa Chapman Rice Universisty CITI-CRPC 6100 South Main Street Houston, TX 77005, USA phone 713-285-5184 fax 713-285-5136 email tlc@cs.rice.edu A------------------------------------------------------- From: lwerth@cs.utexas.edu (Laurie Werth) Subject: Famous Computer Quotes Courtesy USENIX. "Computers in the future may weigh no more than 1.5 tons." - Popular Mechanics, 1949 "I think there is a world market for maybe five computers." - Thomas Watson, chairman of IBM, 1943. "I have travelled the length and breadth of this country and talked with the best people, and I can assure you that data processings is a fad that won't last out the year." - The editor in charge of business books for Prentice-Hall, 1957. "But what...is it good for?" - Engineer at the Advanced Computing Systems Division of IBM, 1968, commenting on the microchip. "There is no reason anyone would want a computer in their home." - Ken Olson, president, chairman and founder of DEC. A------------------------------------------------------- From: brent@CSUFresno.EDU (Brent Auernheimer) Subject: NSF workshop - parallel processing CALL FOR PARTICIPATION PARALLEL PROCESSING: ARCHITECTURE AND PROGRAMMING The National Science Foundation and California State University-Fresno present a Workshop for Undergraduate Teaching Faculty on "Parallel Processing: Architecture and Programming", June 12 - 20, 1995, at California State University - Fresno This workshop is supported by the National Science Foundation Undergraduate Faculty Enhancement Program Grant Number DUE- 9455050 Applications and supporting documents must be received no later than April 14, 1995. The full text of this announcement, together with an application form, is available via worldwide web at http://www.engr.csufresno.edu/Announcements/workshop and by email to kpierce@d.umn.edu with the SUBJECT line SEND PARALLEL A------------------------------------------------------- From: on@cs.ait.ac.th ( Olivier Nicole) Subject: Asian Computing Science Confeence 1995 CALL FOR PAPERS 1995 ASIAN COMPUTING SCIENCE CONFERENCE 11-13 December, 1995 Pathumthani, THAILAND The conference is intended to provide a forum in Asia for researchers in computer science. A major goal of AsianCSC is to foster communication and cooperation among the diverse communities involved in the practice and theory of computing, including those involved in systems, languages, and applications. It is expected that every accepted paper will be presented at the conference and included in the proceedings which is expected to be published in the Lecture Notes in Computer Science series by Springer Verlag. Submissions are due by 15 June, 1995. For further information, http://www.cs.ait.ac.th/conf/acsc.html. To receive the full text of this announcement, send email to kpierce@d.umn.edu with the SUBJECT line SEND ACSC95 A------------------------------------------------------- From: Keith Pierce Subject: The new CMU/SEI MSE Core Curriculum The following article will appear in the Education News column of the TCSE Newsletter, Spring, 1995. In the late 1980's, the Software Engineering Institute (SEI) developed a set of core courses for a master's program in software engineering and installed it in an MSE program, administered jointly with Carnegie Mellon University (CMU). This core became the de facto model on which many, if not a majority, of other US graduate programs built their curriculum. In light of the model's impact on graduate software engineering education, it should be of great interest to this community of readers that CMU and the SEI have announced a radical restructuring of their core. I will summarize Jim Tomayko's presentation at CSEE'95 [1] and give a brief description of the new curriculum. Like most other curricula that copied it, the original CMU/SEI core was organized around the waterfall-based phases of the software life cycle: requirements engineering, formal specification, design and implementation, verification and validation, and the umbrella of software management. Such an organization had clear advantages: each topic has a well-defined point of reference in the development practice; current textbooks are so organized; and each course stands alone as a cohesive entity. However, CMU faculty identified several weaknesses of this organization: it gives undue emphasis on the waterfall model; and its compartmentalized nature hinders presentation of principles and techniques that span several phases of software development. In response, the faculty have developed a revised curriculum that "emphasizes the underlying principles and techniques (such as the use of formal models and application of good management principles) that can be applied in uniform ways to a broad spectrum of software development activities." The content is much the same (with the significant addition of the study of software architectures), but the packaging differs radically from the original core. Topics that originally spanned several courses (for example, analyzing some product in all life cycle phases) are combined into one (Analysis of Software Artifacts). Conversely, topics that once appeared in just one course (requirements elicitation and specification, to name one) now are distributed across several (in Management, to show how requirements affect planning; in Methods, to illustrate how to elicit requirements; and in the studio course, where students produce a real requirements document). The rest of this article describes, and gives a brief rationale of, each of the five one-semester courses comprising the core. The wording is borrowed liberally from [1]. The interested reader should consult that reference for more detailed descriptions, rationale, and lessons learned from a first offering. MODELS OF SOFTWARE SYSTEMS studies precise, abstract models and logics for characterizing and reasoning about properties of software systems. Whereas specific notations are introduced for completeness, they are not emphasized. The main topics include state machines, algebraic models, process algebras, trace models, compositional mechanisms, abstraction relations, and temporal logic. Software engineers must understand the fundamental mathematical models underpinning software systems. It considers models that underlie not only specification but also testing, analysis, process modeling, and design selection. METHODS OF SOFTWARE DEVELOPMENT treats practical methods for creating a working software system that solves a problem. It introduces comprehensive approaches to requirements analysis, design, creation, and maintenance, and includes methods such as OO methods, JSD/JSP, VDM, Z, Larch, structured analysis and design, cleanroom development, and prototype-oriented development. Students learn in depth three specific design methods. This course coalesces subjects often distributed across several courses in other curricula. It builds on the notations and concepts introduced in the models course, demonstrates their practical applicability to developing real software systems, and makes more precise the vague notions of informal methods. MANAGEMENT OF SOFTWARE DEVELOPMENT focuses on the management and organization of resources - both human and computational - for large- scale, long-lived software development projects. Students learn to manage software development and long-term capability improvement. Topics include life cycle models, project management, process management, capability maturity models, product control (version and configuration management and change control), documentation standards, risk management, people management, organizational structure, product management, and requirements elicitation. CMU faculty - and most of us, I suspect - believe that we can trace development problems to managers who do not plan or organize well, and who fail to get people to work together. Thus the rationale for the course ensues. Requirements elicitation is included in part to jump-start the studio project. ANALYSIS OF SOFTWARE ARTIFACTS focuses on analyzing the products of development: delivered code, specifications, designs, documentation, prototypes, and test suites. Using tools where appropriate, students learn to analyze both statically and dynamically, employing techniques such as type checking, verification, testing, performance analysis, hazard analysis, reverse engineering, and program slicing. CMU faculty have innovatively adopted a broad view of analysis: products to be analyzed span several phases, from requirements (model checking) to implementation (static verification and slicing) to testing, and include products that shore up all phases (documentation). ARCHITECTURE OF SOFTWARE SYSTEMS treats design at the level of organizing system structure and assigning functionality to design components. Topics include common patterns of architectural design, tradeoff analysis at an architectural level, domain-specific architectures, automated support for architectural design, and formal methods of software architecture. The course embodies the seminal work of David Garlan and Mary Shaw, and stems from the belief that knowledge of software architecture will play an increasingly important role in the engineering of large software products. [1] David Garlan, Alan Brown, Daniel Jackson, Jim Tomayko, Jeanette Wing, "The CMU Master of Software Engineering Core Curriculum." Proceedings of the 8th SEI Conference on Software Engineering Education, New Orleans, March/April 1995. Springer-Verlag, 1995, 65-86. E------------------------------------------------------------------- FASE Volume 5 Number 11 Send newsletter articles to fase-submit@d.umn.edu or fase@d.umn.edu Send requests to add, delete, or modify a subscription to fase-request@d.umn.edu Send problem reports, returned mail, or other correspondence about this newsletter to fase-owner@d.umn.edu or kpierce@d.umn.edu You can retrieve back issues by anonymous FTP from from ricis.cl.uh.edu. You can access them through WWW at URL http://ricis.cl.uh.edu/FASE/ Keith Pierce, Editor Laurie Werth, Advisory Committee Department of Computer Science Dept. of Computer Science University of Minnesota, Duluth Taylor Hall 2.124 Duluth, MN 55812-2496 University of Texas at Austin Telephone: (218) 726-7194 Austin, Texas 78712 Fax: (218) 726-6360 Telephone: (512) 471-9535 Email: kpierce@d.umn.edu Fax: (512)471-8885 Email: lwerth@cs.utexas.edu David Eichmann, FASE Archivist Asst. Prof. / RBSE Director of R & D Web: http://ricis.cl.uh.edu/eichmann/ Software Engineering Program Phone: (713) 283-3875 University of Houston - Clear Lake fax: (713) 283-3810 Box 113, 2700 Bay Area Blvd. Email: eichmann@rbse.jsc.nasa.gov Houston, TX 77058 or: eichmann@cl.uh.edu RBSE on the Web: http://rbse.jsc.nasa.gov/eichmann/rbse.html