intensive instrumentation and monitoring for software ecosystems hausi a. müller department of...

22
Intensive Instrumentation Intensive Instrumentation and Monitoring for and Monitoring for Software Ecosystems Software Ecosystems Hausi A. Müller Hausi A. Müller Department of Computer Science Department of Computer Science University of Victoria University of Victoria Dagstuhl Seminar Nº 08031 Software Engineering for Self-Adaptive Systems January 2008

Post on 15-Jan-2016

217 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Intensive Instrumentation and Monitoring for Software Ecosystems Hausi A. Müller Department of Computer Science University of Victoria Dagstuhl Seminar

Intensive InstrumentationIntensive Instrumentationand Monitoring forand Monitoring for

Software EcosystemsSoftware Ecosystems

Hausi A. MüllerHausi A. MüllerDepartment of Computer ScienceDepartment of Computer Science

University of VictoriaUniversity of Victoria

Dagstuhl Seminar Nº 08031Software Engineering for Self-Adaptive Systems

January 2008

Page 2: Intensive Instrumentation and Monitoring for Software Ecosystems Hausi A. Müller Department of Computer Science University of Victoria Dagstuhl Seminar

22

Intensive Instrumentation and Intensive Instrumentation and Monitoring for Software EcosystemsMonitoring for Software Ecosystems

Reverse Engineering

andMigration

Technology

Autonomic Computing Technology

Self-*

Adaptive Software

EcosystemsMultiple Control Loops

Page 3: Intensive Instrumentation and Monitoring for Software Ecosystems Hausi A. Müller Department of Computer Science University of Victoria Dagstuhl Seminar

33

Despite enormous successes in Despite enormous successes in migrating legacy systems to modern platforms,migrating legacy systems to modern platforms,

dealing with legacy software systemsdealing with legacy software systemsdoes not seem to get any easier!!does not seem to get any easier!!

So, what is the problem?So, what is the problem?

Page 4: Intensive Instrumentation and Monitoring for Software Ecosystems Hausi A. Müller Department of Computer Science University of Victoria Dagstuhl Seminar

44

The Automation ConundrumThe Automation Conundrum

Over the past 50 years, computer systems have had a huge capacity to automateEnormous variety of tasksCost per task greatly reducedIncalculable benefitsUnprecedented success

Key challengesFurther declines in task costs by traditional are

subject to the law of diminishing returnsThe complexity of infrastructure management

threatens to outweigh the benefits of further automation

A. Spector, VP IBM Services and Software Research, 2003A. Spector, VP IBM Services and Software Research, 2003

Page 5: Intensive Instrumentation and Monitoring for Software Ecosystems Hausi A. Müller Department of Computer Science University of Victoria Dagstuhl Seminar

55

Evolution of Software SystemsEvolution of Software Systems

Legacy systems are migrating tomodern platforms

Integration ofSoftware-Intensive Systems (ISIS)http://www.sei.cmu.edu/isis/

Systems of SystemsEnterprise integrationDynamic systems

• http://www.sei.cmu.edu/programs/ds/

Page 6: Intensive Instrumentation and Monitoring for Software Ecosystems Hausi A. Müller Department of Computer Science University of Victoria Dagstuhl Seminar

66

Evolution of Software SystemsEvolution of Software Systems

Legacy systems Systems of Systems

Ultra-Large-ScaleUltra-Large-Scale(ULS) Systems(ULS) Systems

Software EcosystemsSoftware Ecosystems

Page 7: Intensive Instrumentation and Monitoring for Software Ecosystems Hausi A. Müller Department of Computer Science University of Victoria Dagstuhl Seminar

77

Continuous EvolutionContinuous Evolution

Flawed assumption: software systems should support organizational stability and structure be low maintenance strive for high degrees of user acceptance

Continuous evolution: software systems should be under constant development can never be fully specified are subject to constant adjustment and adaptation [Truex99]

Good news for software engineering community (adaptive and reverse

engineering in particular) since this view guarantees research problems for years to come

Bad news most software engineering textbooks will have to be rewritten

Truex et al., Growing Systems in Emergent Organizations, CACM, 1999Truex et al., Growing Systems in Emergent Organizations, CACM, 1999

Page 8: Intensive Instrumentation and Monitoring for Software Ecosystems Hausi A. Müller Department of Computer Science University of Victoria Dagstuhl Seminar

88

Independent Studies Confirm the Independent Studies Confirm the Notion of Continuous EvolutionNotion of Continuous Evolution

German SE Manifest [Broy06] Challenges for Software Engineering Research

ICSE 2006 Keynote [Boehm06] SE theses and antitheses for every decade from 1950 to 2020 He argues that “the ability of organizations and their products, systems,

and services to compete, adapt, and survive will depend increasingly on software and on the ability to integrate related software-intensive systems into systems of systems.”

SEI ULS [ULS06] Systems of systems are likely to evolve into Ultra-Large-Scale (ULS)

socio-technical ecosystems ULS ecosystems require a radically new perspective with respect to

design and evolution, orchestration and control, as well as monitoring and assessment.

SEI study suggests that traditional top-down engineering approaches are insufficient to tackle the complexity and evolution problems inherent in decentralized, continually evolving software

Page 9: Intensive Instrumentation and Monitoring for Software Ecosystems Hausi A. Müller Department of Computer Science University of Victoria Dagstuhl Seminar

99

Ultra-Large-Scale (ULS) SystemsUltra-Large-Scale (ULS) Systems

Premise ULS systems will place an unprecedented demand on software

acquisition, production, deployment, management, documentation, usage, and evolution

Needed A new perspective on how to characterize the problem and

realize solutions Breakthrough research in concepts, methods, and tools beyond

current hot topics such as SOA or MDA Proposal

New solutions involving the intersections of traditional software engineering and other disciplines including fields concerned with people—microeconomics, biology, city planning, anthropology

L. Northrop et al., SEI, Ultra-Large-Scale Systems, June 2006L. Northrop et al., SEI, Ultra-Large-Scale Systems, June 2006

Page 10: Intensive Instrumentation and Monitoring for Software Ecosystems Hausi A. Müller Department of Computer Science University of Victoria Dagstuhl Seminar

1010

Decentralized EcosystemsDecentralized Ecosystems For 40 years we have embraced the traditional centralized

engineering perspective for building software Central control, top-down, tradeoff analysis

Beyond a certain complexity threshold, traditional centralized engineering perspective is no longer adequate nor can it be the primary means by which ultra-complex systems are made real

Firms are engineered—but the structure of the economy is not; yet it adapts

The protocols of the Internet were engineered—but not the Web as a whole; and yet it adapts

Ecosystems exhibit high degrees of complexity, organization and adaptability—but not through top-down engineering

L. Northrop et al., SEI, Ultra-Large-Scale Systems, June 2006L. Northrop et al., SEI, Ultra-Large-Scale Systems, June 2006

Page 11: Intensive Instrumentation and Monitoring for Software Ecosystems Hausi A. Müller Department of Computer Science University of Victoria Dagstuhl Seminar

1111

Change of PerspectiveChange of Perspective

FromFrom satisfaction of requirements satisfaction of requirements through traditional, top-down through traditional, top-down engineeringengineering

ToTo satisfaction of requirements by satisfaction of requirements by regulation of complex, decentralized regulation of complex, decentralized systemssystems

With adaptive systemsWith adaptive systemsand feedback loops and feedback loops How?How?

The system The system shall do this shall do this … but it may … but it may do this … do this … as long as it as long as it does this …does this …

Page 12: Intensive Instrumentation and Monitoring for Software Ecosystems Hausi A. Müller Department of Computer Science University of Victoria Dagstuhl Seminar

1212

From Buildings to CitiesFrom Buildings to Cities

A ULS system will operate more like a citybuilt or conceived by many individuals over long

periods of time (Rome)the form of the city is not specified by requirements, but

loosely coordinated and regulated—zoning laws, building codes, economic incentives (change over time)

Every day in every city construction is going on, repairs are taking place, modifications are being made—yet, the cities continue to function

ULS systems will not simply be bigger systems: they will be interdependent webs of software-intensive systems, people, policies, cultures, and economics

SEI, Ultra-Large-Scale Systems, June 2006SEI, Ultra-Large-Scale Systems, June 2006

Page 13: Intensive Instrumentation and Monitoring for Software Ecosystems Hausi A. Müller Department of Computer Science University of Victoria Dagstuhl Seminar

1313

Characteristics of ULS SystemsCharacteristics of ULS Systems

Decentralized control Inherently conflicting, unknowable, and diverse

requirements Continuous evolution and deployment Heterogeneous, inconsistent, and changing

elements Erosion of the people/system boundary Software and hardware failures are the norm

Page 14: Intensive Instrumentation and Monitoring for Software Ecosystems Hausi A. Müller Department of Computer Science University of Victoria Dagstuhl Seminar

1414

Challenges in ULS SystemsChallenges in ULS Systems

Design and evolution Rules and regulations Enforcement mechanisms and processes Integration Emergent quality and behaviour

Orchestration and Control Online modification Maintenance of quality and service Creation and execution of policies and rules Adaptation to users and contexts Enabling user controlled orchestration

Monitoring and Assessment Defining indicators Understanding why indicators change Handling change and imperfect information Gauging the human elements

http://www.sei.cmu.edu/uls/

Page 15: Intensive Instrumentation and Monitoring for Software Ecosystems Hausi A. Müller Department of Computer Science University of Victoria Dagstuhl Seminar

1515

Unprecedented Levels of MonitoringUnprecedented Levels of Monitoring

To be able to observe and possibly orchestrate the continuous evolution of software systems in a complex and changing environment, we need to push the monitoring of evolving systems to unprecedented levels

Instrument software-intensive systems with autonomic elements using reverse engineering technology to enhance their monitoring and assessment capabilities

Page 16: Intensive Instrumentation and Monitoring for Software Ecosystems Hausi A. Müller Department of Computer Science University of Victoria Dagstuhl Seminar

1616

How to simplify software?How to simplify software?

Historically, in contrast to engineering disciplines, computing science seems to have neglected the control loop

To simplify programs,To simplify programs,inject control loops or inject control loops or autonomic elementsautonomic elementsinto ordinary programsinto ordinary programs

Self-advertising infrastructure Self-advertising infrastructure components [Chris Craddock, CA]components [Chris Craddock, CA]

Knowledge

Plan

ExecuteMonitor

Analyze

Sensors Effectors

Sensors Effectors

Page 17: Intensive Instrumentation and Monitoring for Software Ecosystems Hausi A. Müller Department of Computer Science University of Victoria Dagstuhl Seminar

1717

Autonomic Program MonitorsAutonomic Program Monitors

Run-time check monitorsMonitor assertions and invariantsMonitor frequency of raised exceptionsContinually measure test coverageData structure load balancingBuffer overflows, intrusionMemory leaksChecking liveness properties

Page 18: Intensive Instrumentation and Monitoring for Software Ecosystems Hausi A. Müller Department of Computer Science University of Victoria Dagstuhl Seminar

1818

Satisfaction of RequirementsSatisfaction of Requirements

Monitor the satisfaction of requirementsPerform critical regression tests regularly to

observe satisfaction of requirementsPerform V&V operations (transformations)

regularly to ascertain V&V propertiesHow to monitor functional and non-functional

requirements when the environment evolves?

Page 19: Intensive Instrumentation and Monitoring for Software Ecosystems Hausi A. Müller Department of Computer Science University of Victoria Dagstuhl Seminar

1919

Design programs with theAutonomic Element as a

Core Architectural Component

Teach the notion of a Control LoopTeach the notion of a Control Loopin 1in 1stst Year of Computer Science (and Engineering) Year of Computer Science (and Engineering)

M. Shaw. Beyond Objects: A Software Design Paradigm based on Process M. Shaw. Beyond Objects: A Software Design Paradigm based on Process Control, Control, ACM SIGSOFT Software Engineering NotesACM SIGSOFT Software Engineering Notes, 20(11):27–38, 1995 , 20(11):27–38, 1995

Page 20: Intensive Instrumentation and Monitoring for Software Ecosystems Hausi A. Müller Department of Computer Science University of Victoria Dagstuhl Seminar

2020

Challenge for our communityChallenge for our community

To instrument software systems with manageability endpoints—sensor and effectors

To monitor software systems and their environments at unprecedented levels

Page 21: Intensive Instrumentation and Monitoring for Software Ecosystems Hausi A. Müller Department of Computer Science University of Victoria Dagstuhl Seminar

2121

The Most Famous Autonomic SystemThe Most Famous Autonomic System

TemperatureHeart rate

Breathing rateBlood pressure

Blood sugarPupil dilation

TearsDigestion

Immune response

Autonomic Nervous System─ANS Parasympathetic

Day-to-dayDay-to-day internal processes

Sympathetic StressfulStressful situation processes

Dec

ide

Res

ourc

e

Mea

sure

Con

trol

Monitor and RegulateMonitor and Regulate

Page 22: Intensive Instrumentation and Monitoring for Software Ecosystems Hausi A. Müller Department of Computer Science University of Victoria Dagstuhl Seminar

2222

Intensive Instrumentation and Intensive Instrumentation and Monitoring for Software EcosystemsMonitoring for Software Ecosystems

Reverse Engineering

andMigration

Technology

Autonomic Computing Technology

Self-*

Adaptive Software

EcosystemsMultiple Control Loops