Monday, 27 September 2010

ULSS Doctoral School - Day 6

Murray Cantor (IBM) talked about ULSS from an industrial perspective, with some hypothetical examples of SoS, the challenges they bring, the state of practice today, and some opportunities and research questions for academia. Murray is a Distinguished Engineer at IBM, but before that he was at Berkeley, working in the area of non-linear mathematics – so he has a good background in both academic research and state of the art in practice. His lectures mostly focused on the engineering problems of SoS, much like Linda Northrop’s first ULSS lecture but without the military motivations – Murray used examples from healthcare and transport to illustrate the problems. His last lecture was about governance in SoS, and different approaches that can be taken to deal with uncertainty and risk. He also talked about calculating the expected value of projects that alter or add to a SoS (so you can make decisions about whether they should proceed or not).

Friday, 24 September 2010

ULSS Doctoral School - Day 5

Alex Wolf continued from where he left off yesterday and discussed how their group has been addressing the challenges of automating experiments in large-scale systems. He described how realistic workloads can be generated and how user behaviour can be modelled (using computer programs to specify sequences of actions, choice and decisions and communication between actors). The challenges around (and approaches to) the repeatability of experiments in distributed environments were also discussed, e.g. using the PlanetLab test-bed and repeating experiments over the internet until the required confidence level is obtained, or using emulation to create and control all parameters in a network. Finally, Alex talked about their current research in trying to get their tool to a stage where a programmer can provide it with a hypothesis about the system under investigation, and asking the tool to come up with experimental designs that can be used to validate or disprove the hypothesis. This is difficult as there are many parameters that could be studied, e.g. bandwidth, latency, failure rates, response times, and how these parameters should be sampled and at what scale they should be studied.

Fausto Giunchiglia (University of Trento) talked about the complexity of knowledge representation and management, where the complexity arises from the diversity that is present in large-scale data sets (e.g. the web). He highlighted the need for new methodologies for knowledge representation and management, and their efforts in developing such methods and tools for the management, control and use of emergent knowledge properties (http://entitypedia.org). Fausto’s take home message was that no matter how good we make these technologies, they won’t work until we find the right incentives that motivate people to share their knowledge across organisations and departments - and this is currently an open question.

Thursday, 23 September 2010

ULSS Doctoral School - Day 4

Carlo Ghezzi (Politecnico di Milano) talked about adaptive evolvable systems (where adaption refers to the ability of software to detect changes and react in a self-managed manner, and evolution requires the intervention of a designer). He started with a brief history of early software engineering approaches, which did not follow a precisely formulated process and assumed that organizations are monolithic and stable (so change is avoided). But this assumption is usually incorrect and so maintenance is required. Traditionally, maintenance has been offline, where the maintenance can be corrective maintenance to fix bugs, adaptive maintenance to satisfy changes in the environment, or perfective maintenance to satisfy changes in the requirements. Adaptive systems attempt to reduce the maintenance effort by modelling and reasoning about the goals, requirements and assumptions that a system has (I guess the underlying idea is related to autonomic computing). One approach that could be taken is to use inheritance (in the object oriented sense) with dynamic code generation to create code that extends existing classes. As long as the method interfaces do not change, then the method body can be dynamically changed at run-time using inheritance and polymorphism.

Alexander Wolf (Imperial College) talked about the automation of experiments on large-scale systems (computer science experiments such as investigating properties of distributed hash tables or web applications under different workloads). The challenges in experimenting with such systems are: how do you generate workloads that are realistic, how do you ensure that the experiments are repeatable, and how do you design the actual experiments – e.g. what properties do you measure, how do you measure them. Alex then introduced the Weevil tool that addresses some of these challenges; this will be discussed in more detail in tomorrow’s lecture.

Local village near the hotel
Dinner last night at the Pappone

Lunch at the hotel

Wednesday, 22 September 2010

ULSS Doctoral School - Day 3

Dave Cliff kicked off day 3 with a story of technology failures and snapshots of engineering failures in history. He also talked about the NY stock exchange crash on 6-May-2010 when in one day, 1 trillion dollars disappeared and then re-appeared in the market. The rest of the first talk was the LSCITS story, why it was started and where it’s going...

Lecture 2 was about Market-Based LSCITS and data centre resource management using market-based approaches (e.g. cooling units and servers all trade their “offerings” in an artificial market in the data centre). Dave took us through a brief background in economics and trading then described his work that lead to the to the ZIP trading algorithm.

Lecture 3 was about the growth, scale and failure of LSCITS and summarised a dozen books about: the problem (e.g. Eating the IT Elephant, 2008), the scale of the problem and what happens if it’s not addressed (e.g. Management of Scale, 1992; The Challenger Launch Decision, 1997), and how resilient engineering can address some of the problems (e.g. Resilient Engineering, 2006). The books and papers from Dave’s talk can be found on his Mendeley page.

Overall, a day full of pointers and ideas that sparked a lot of discussion amongst the students.

Tuesday, 21 September 2010

ULSS Doctoral School - Project Work

One of the aims of the doctoral school is to trigger collaborations between the students and so students work in groups on projects during the evenings. I'm in a group of 4 with other PhD students from the University of Sannio and the Second University of Naples. Our project is based on a case study from Boeing and we have two weeks to come-up with a fairly detailed analysis and design for the given problem. Our project title is "Ultra Large Scale Integration Business Use Case of PLCS", there is more information about PLCS here.

Rather than try and give a vague solution to the overall problem, we decided to pick a small part of the problem and focus on that to see if we can propose a feasible solution. We gave a presentation about our project today; it describes the problem from our viewpoint and discusses our proposed solution, its evaluation criteria and shortcomings. Our team won the best project award.

ULSS Doctoral School - Day 2

Day 2 was the start of the lectures at the doctoral school and there were around 40 students there – mostly from Italy. Linda Northrop (Software Engineering Institute) presented the main findings from their year-long study of ULSS – see their book here. She started the first of her 3 lectures with an overview of ULSS, their characteristics and the challenges that they pose. This lecture really set the scene for the next two weeks and argued that the “inherently conflicting, unknowable, and diverse requirements from the wide variety of stakeholders results in complex requirements that cannot converge.” The remainder of the talk went into more details about the characteristics of ULSS: scale, heterogeneity, people’s changing needs, continuous evolution, erosion of the people/system boundary, normal failures and de-centralised control. Lecture two followed-up on the ULSS characteristics and discussed why current software engineering approaches are not satisfactory for ULSS (because the underlying assumptions are different). Seven research areas were described that provide relevant ideas and inspirations for the addressing some of the ULSS challenges.

The third lecture was a post-study observation where Linda reflected on the outcome of the report since 2006. She said that the report had started a discussion amongst the software engineering community where some argue that ULSS are not new classes of systems and there are already ULSS today, and she acknowledged that there are. ULSS does not mean that the old practices have to be abandoned, they are still needed for some types of systems (not all systems are ULS). Also, many argue about definitions but these are not that important, it really doesn’t matter if you call it ULS, System of Systems, Complex Net-Centric Systems etc.

Linda finished her lectures by providing an overview of some general computing trends and emerging technologies and asking us to think about how these trends and technologies can be used to address the challenges of ULSS.

  • General computing trends: loose coupling, global distribution of hardware, software and people, horizontal integration and convergence, virtualization, commoditization of technology, end-user empowerment, large-scale data mining, low energy consumption, multi-core and parallelization.

  • Emerging technologies: cloud computing, complex event processing, data intelligence, end-user programming (web-based), green computing, mobile computing, opportunistic networks, self-* computing).

Project Work
I'm going to keep a separate blog post about the project work.

Some pictures from today
Coffee area
View from the lecture room
Students discussing project work