Monday, July 23, 2007

Aspect-Oriented Thinking

Shayne Flint will give a seminar on Aspect-Oriented Thinking 23 July 2007 in Canberra:
Large systems engineering projects are dynamically complex socio-technical environments of co-evolving technologies, processes, people, organisations, laws, politics and other concerns. Aspect-Oriented Thinking (AOT) is a multidisciplinary process of learning and change which involves the modeling and assembly of reusable knowledge to specify, develop, operate and retire systems within such environments. In the first instance, these systems include the models and simulations required to learn about a given environment and to make decisions regarding necessary improvements. ...
There is a brief description in an overview of "Aspect-Oriented Thinking" from Dr. Flint's thesis:
Aspect-Oriented Thinking ... is an advanced model-driven interdisciplinary approach to system development, operation and maintenance within dynamically complex socio-technical environments. ... Key characteristics of the approach include ...
  • Interdisciplinary. Because they are autonomous, Domain Models can be developedand verified by engineers, scientists, sociologists, psychologists, lawyers, philosophers, economists and others, using languages and techniques with which they are familiar. These languages and techniques include System Dynamics [Forrester, 1961], Soft Systems Methodology [Checkland, 1981], Capability Dynamics [Flint, 2001] and eXecutable and Translatable UML [Mellor and Balcer, 2002]. ...
  • Improved knowledge management. Knowledge captured in Domain Models is autonomous and thus highly reusable. ...
  • Simplified system specification. Knowledge contained in verified Domain Models is assembled to form Aspect-Oriented Specifications which describe changes required to improve a problem situation. ...
  • Improved productivity, reduced defects. Each Aspect-Oriented Specification is implemented by systematically executing a set of rules defined in an Implementation Model. ...
  • Emergence of desirable properties within complex systems-of-systems. By encouraging the use of Aspect-Oriented Thinking on all projects involved in an evolving system-of-systems, the emergence of desirable properties can be achieved.This includes improved interoperability, alignment with stakeholder needs and an ability to rapidly reconfigure and form new systems-of-systems from existing components. ...
From: Aspect-Oriented Thinking, An interdisciplinary approach to complex system engineering, Shayne R. Flint, Australian National University, September 2006
Luke Worth presented on "Aspect Oriented Thinking: Tool Support" at ANU, 15 February 2007:
Aspect-Oriented Thinking is a new approach to engineering which "systematically develops, manages and integrates the knowledge and expertise of many disciplines to conceive, develop, modify, operate and retire systems". I will give a brief overview of Aspect-Oriented Thinking and present the system we've designed to help automate the process. I will also introduce the group project for this year, as an extension of the work already done.
Aspect Oriented Thinking addresses some of the problems with aspect-oriented programming:
In software engineering, the programming paradigms of aspect-oriented programming (AOP), and aspect-oriented software development (AOSD) attempt to aid programmers in the separation of concerns, specifically cross-cutting concerns, as an advance in modularization. AOP does so using primarily language changes, while AOSD uses a combination of language, environment, and method.

Wikipedia, Aspect-oriented programming, Wikipedia, 2007 http://en.wikipedia.org/wiki/Aspect-oriented_programming
This approach may provide a solution to the "Systems of Systems" problem of large interconnected computer systems, in areas such as defence. But until details of the techniques are published and tool sets are competed and applied to real world problems, the value of the approach cannot be verified. But at least, unlike some of the other approaches to systems of system, there is the prospect of useful tools to deal with complexity, rather than just some vague methodology and wishful thinking.

The developers of aspect orientated thinking risk the hubris which befell one of the cited authors: Jay Forrester, developer of System Dynamics. After having successfully applied the technique to industrial systems, Forrester set back the environmental debate in the 1970's by lending his authority to the first report to the Club of Rome:
Limits to Growth is a 1972 book modeling the consequences of a rapidly growing world population and finite resource supplies, commissioned by the Club of Rome. Its authors were Donella H. Meadows, Dennis L. Meadows, Jørgen Randers, and William W. Behrens III. The book used the World3 model to simulate[1] the consequence of interactions between the Earth's and human systems. The book echoes some of the concerns and predictions of Reverend Thomas Robert Malthus in An Essay on the Principle of Population (1798).

From: Limits to Growth, Wikipedia, 2007
Forrester's systems dynamics gave a spurious authority to the Limits to Growth report, by providing computer generated graphs apparently based on a sound scientific theory. Critics of the report have spent 30 years pointing out that simplistic assumptions the theory was based on and that the computer generated data could as well have been hand drawn with a pencil and paper.

Hopefully the developers of Aspect Oriented Thinking will stick to using it for the design of computer systems and not stray into trying to solve the world's environmental, political and social problems.

Books available:
See also:

No comments: