Managing Large and Complex Systems with Omnispective Analysis and Reasoning
Total Page:16
File Type:pdf, Size:1020Kb
Managing Large and Complex Systems with Omnispective Analysis and Reasoning Srinivas Chemboli Clive Boughton Research School of Computer Science The Australian National University {srinivas.chemboli, clive.boughton}@anu.edu.au Abstract. Development of newer and more sustainable systems requires a thorough understanding of the complex interactions in current systems. Therefore it is necessary to be able to switch between de- tailed knowledge of component systems and an overall appraisal of the entire system. Current efforts to develop ontologies capturing a "complete" and "universal" understanding of entire systems of systems often result in loss of depth and precision of knowledge contained in the participating systems. This fur- ther adds to the uncertainty and intractability in the management of the complex system. In addition, the absence of a single control and execution context makes it difficult to validate the system against desired intent and goals. All of these increase the likelihood of cost, effort and development time overruns in maintaining, enhancing, retiring and replacing systems. In this paper, we propose a novel approach to address these concerns by the application of Omnispective Analysis and Reasoning (OAR), an epistemic framework for managing intellectual concerns. By creating "localized ontologies" for capturing the ’silos’ of knowledge in component systems, we develop artifacts for only those concerns from the participating domains that are identified as relevant. These localized ontologies can unambiguously capture all relevant system artifacts with valuable information about their context of application within the system. With the OAR framework, we can analyze and manage large systems as an aggregation of all these localized ontologies with explicit specification of mutual inter- actions and influence at the concept, model and implementation levels. This omnispective outlook will not only enable better management of the system development lifecycle by taking into account details of individual subsystems and their interactions, but also facilitate validation and verification of the system. We illustrate this with an example from the Ubuntu software ecosystem. Keywords: Complex Systems, Omnispective Analysis and Reasoning, Context, Localized Ontologies INTRODUCTION The study of large and complex systems – both engineered as well as naturally evolving – is gaining importance. This is mainly due to the wide-ranging impact of such systems on human society. Exam- ples of such systems include large power networks, computer system networks, ecological systems etc. Though terms like large systems, complex systems, systems of systems and wicked problems are em- ployed with varying and several connotations in the literature, complex systems are seen to possess a set of commonly recognized properties. Firstly, they consist of many component systems, interacting with each other and with the environment(s) within which they operate or exist. Secondly, they are open in nature in the sense that component systems may be added, modified, retired or replaced. Finally, the goals and objectives of such systems are very likely to change and evolve with time. Reviews of the salient features and concepts of complex systems in the context of systems of systems can be found in a number of references (Jamshidi, 2008; Sage and Cuppan, 2001; Sheard and Mostashari, 2009). For the development of newer and more sustainable systems, it is usually necessary to analyze and un- derstand the complex interactions in current systems. For this it is appropriate: 1. to be able to switch between detailed knowledge of the component systems and overall appraisal of the entire system. Current efforts to develop ontologies capturing "complete" and "universal" under- standing of the entire system increase overall complexity, while simply providing minimally sufficient understanding across all interacting systems which may obscure details of component systems. 2. to develop the ability to treat each component subsystem and its constituents as a localized and single “control and execution context” so as to enable system validation against desired goals and intent. Inadequate support for the above features, coupled with uncertainties due to incompletely recognized or unrecognized interactions of the component systems, may further result in uncertainties in the outcomes of the processes orchestrated by the system, together with the increased likelihood of cost, effort and development time overruns in maintaining, enhancing, retiring and replacing systems. In this paper we propose a novel approach to address these issues by applying Omnispective Analysis and Reasoning (OAR) (Chemboli and Boughton, 2012), an epistemic framework for managing intellectual concerns. This omnispective outlook enables better management of the system development lifecycle, and facilitates validation and verification of the system by taking into account details of individual sub- systems and their interactions. The remainder of this paper is organized as follows. In the following section, we discuss some of the issues encountered in the design and management of large and complex systems. Next, we present an overview of the OAR framework, highlighting its main features and approach to concern and context refinement. We then discuss the application of OAR to complex systems, followed by an illustration of the application of the OAR framework to analyze and work through the problem of selecting the default music app for the Ubuntu 12.04 Long Term Support (LTS) distribution. DESIGN OF LARGE SYSTEMS AND SOME ISSUES OF COMPLEXITY Some Characteristics of Large Systems As far as we have been able to determine, all the studies and attempts aimed at managing complexity are based on the implicit belief that proper design of a system can mitigate the issues/difficulties resulting from the complex interactions of the component systems comprising it. According to Warfield (1994), a system is considered to be a large-scale and complex system only in relation to “human capacity to observe it, comprehend it, analyze it, steer it, amend it and tolerate it.” This concept of a complex system is based on consideration of both situational complexity and cognitive complexity, and any improvements to the management of complex systems should address both these kinds of complexity. Systems that have technological underpinnings and have considerable sociological impact and interac- tions, are termed as socio-technical systems. Some of these, like forestscapes and water-body systems come into existence through a process of evolution. Some others, like human settlements, are designed and built (at least initially) and then continue to evolve (Alexander, 1964). Socio-technical systems evolve through synergistic interactions between technology and people. Technological systems that are designed and built can be separated into two main groups (Warfield, 1994): 1. Systems that are designed entirely on the basis of well-established principles of science and engi- neering. These systems can be validated against the standards of knowledge of science. Their fail- ures are generally due to components and process parameter errors/inaccuracies and can be well- characterized. The impact of such failures can be managed well in most cases. Examples of such systems are radio and television broadcast systems, chemical plants etc. 2. Systems that are designed and built on the basis of perceptions and models of the needs of the user and properties of the system, like computer software, programming languages etc. Some of these systems may additionally include a number of entities of the first kind. For such systems, reference against primary standards of science is less direct because their reference is through the models used in the design. Examples of such composite systems are information systems, management support systems, expert computer systems, hospital and health care systems, nuclear plants and banking organizations etc. The behavior of such systems is similar to socio-technical systems because their satisfactory performance depends on the synergistic interaction of their component systems. Basic scientific exploration and research of complex systems consists of recognizing a system as com- plex, recognizing possible manifestations of such complexity, and formulating the concepts and mod- els that may be used in their description. Theories of catastrophe (Arnold, 1986), chaos and entropy (Mitchell, 2009) provide directions to the efforts at gaining knowledge in this domain. How Complexity Builds and Escalates in Large Systems A typical scenario of managing complexity consists of careful design of the processes and working en- vironment and assigning specialized roles to properly trained personnel. The situational complexity of a system arises due to interactions amongst the component systems as well as interactions with the envi- ronment. Added to this will be features of cognitive complexity – as felt and perceived by the personnel managing the system. As depicted in figure 1, additional resources inducted into the system for the pur- pose of managing complexity, themselves, will escalate complexity by creating new linkages (Warfield, 1994). Thus, managing a complex system should focus on control of situational complexity, at the same time keeping the scope of management within the cognitive abilities of the people managing the system. Problem Problem solver Problem solver Additional inputs Problem (a) The problem solver