100 likes | 113 Views
This article explores the SEMAT approach to software engineering in the context of complex IT systems. It discusses the overlapping system contexts of infrastructure systems and application environments, and the challenges of function distribution. It also highlights the need for systems thinking and acting, and provides relevant references and personal experiences.
E N D
Software Engineering in the Systems Context Is SEMAT addressing the Root Causes of Complex IT Systems? Harold “Bud” Lawson
Two Overlapping System Contexts • The Infrastructure Systems Context which enables Software Systems to be Developed, Operated and Maintained. • Hardware, Operating Systems, Middleware, Programming Languages-Compilers, Databases • The Application Environment Context • Enabling Systems, Cooperating Systems, Environmental Requirements and Influences
Infrastructure Systems • Continue to suffer from deep root cause problems in function distribution. • The System/360 ISA – OS and Systems Software Mismatch – March into the Black Hole of Complexity • The Estridge- Gates agreement giving Microsoft free license to drive the World Deeper into the Black Hole of Complexity. (Wintel cycle) • Finally – DARPA Clean Slate Program
Application Environment • Software Systems always exist in a wider Systems Environment • ISO/IEC 12207 (Identified Need for a System Standard) • ISO/IEC 15288 (Growing Utilization) • Narrow System of Interest, Wider System of Interest, Environment and Wider Environment • Enabling Systems, Cooperating Systems, Culture, History, Laws, Regulations, etc. • The System Context(s) adds many complexities • We need to “Think” and “Act” in terms of Systems • (Travel in the Systems Landscape)
Why do we create Man-Made Systems? SYSTEM COUPLING DIAGRAM
We give names to these Systems Project Program Task Mission Experiment Natural Man-Made Mixed (Thematic) Facilities Instruments Theory Knowledge Methods Tools Processes Thinking – “Understanding” Acting – “Creating Solutions”
Some Relevant References • “Function Distribution in Computer System Architectures”, Invited paper appearing in the Proceedings of the Third Annual Symposium on Computer Architecture, Clearwater, Florida, January 1976. • “Philosophies for Engineering Computer Based Systems”, IEEE Computer, Vol. 23, No. 12, pp. 52-63, December, 1990. • “Salvation from System Complexity”, IEEE Computer, Vol. 31, No. 2, Feb 1998, pp 118-120. • “Infrastructure Risk Reduction”, Communications of the ACM, Vol. 40, No. 6, June 1998, pp120. • From Busyware to Stableware”, IEEE Computer, Vol. 31, No. 10, Oct 1998, pp117-119. • “Rebirth of the Computer Industry”. Communications fo the ACM June 2002/Vol. 45, No. 6. • “A Journey Through the Systems Landscape”, College Publications, Kings College, UK, ISBN 978-1-84890-010-3. 2010.
Personal Experiences of Architecture Driving Concepts • Pointer Variable (1964) based upon Linked Lists, Data Schema and Indirect Addressing • Flexible Central Processing Unit (1971) based upon Semaphore Variables, Asynchronism, High-Level Microcode and Language Boards • Control of High Voltage Power Dispatching (1974) based upon Monitors and Asynchronism • Automatic Train Control (1976) based upon Time Determinism, Software Circuits and Black-Board Memory • ISO/IEC 15288 (2002) based on System-of-Interest, Recursive Decomposition, Enabling Systems, Processes, Stages and Life Cycle Models