Shifting the balance of power between man and machine
As much as we love our computers, we humans—not the systems we design—have always maintained the upper hand. In the Weizmann Institute laboratory of Prof. David Harel, this “power relationship” is now being re-examined and injected with a dash of nuance.
“Since the beginning of the computer age, programming has been based on telling a machine exactly what to do, so that the machine can serve us,” says Prof. Harel, a member of the Department of Computer Science and Applied Mathematics. “But we believe that the time has come to shift the balance between man and machine.”
Prof. Harel is the creator of breakthrough visual languages for systems design–“Statecharts” in 1984 and “Live Sequence Charts” (LSC) in 1998—which are credited with “liberating” programmers and engineers, by dramatically simplifying the translation of abstract ideas into formal computer code. Now, together with Dr. Assaf Marron and other members of his research team, he has set his sights on launching what he believes will be systems design’s next revolution. It’s an approach he calls “Wise Computing”, in which the computer actually joins the development team as an equal partner—knowledgeable, concerned, and proactively responsible.
Wise Computing involves an intelligent software engineering environment that provides what professional systems developers have come to expect–powerful tools for programming and analysis. In addition, however, it imbues the development suite with knowledge of engineering principles, as well as comprehensive information about the specific, real-world domain in which the system will eventually be used. This gives the computer “experience” to draw on, enabling it to actively contribute to the design process–something that was previously the exclusive purview of human programmers and domain experts.
“Based on this approach,” Prof. Harel says, “we enable the computer to participate in an ongoing dialogue. Not only does the computer monitor the human programmer’s decisions in real-time, it actually takes part in the decision-making process, proactively guiding the programmer towards improved outcomes.”
The new approach also mimics and applies powerful capabilities that humans possess, but which are not specific to systems development. “In Wise Computing, the design suite spontaneously ‘notices’ unexpected patterns in the system’s behavior, and categorizes them as desired or undesired,” Dr. Marron explains. “It can then propose tests and solutions for detected problems. This unprecedented functionality is possible because at least some of the knowledge, skills, and experience of human experts has been incorporated into to the design tool itself.”
Wise Computing can also reduce errors. “Rather than composing a million lines of code then attempting to carry out after-the-fact verification to check how they work together, Wise Computing will help designers get the overall design right far earlier,” Prof. Harel says.
Another advantage of the approach is its sophisticated use of natural language. Together with his former PhD student, Dr. Michal Gordon, Prof. Harel was able, for the first time, to make it possible to use “reasonably rich English” to write fully executable LSC programs. According to Prof. Harel, this approach represents an important step forward in getting computers to understand the way humans naturally communicate, rather than requiring sets of instructions rendered in formal programming language.
“The computer translates the results of this ‘conversation’ into code automatically,” Prof. Harel says. “Our demo already shows how humans and computers can share responsibility for the creation of a computerized system. But the conversation has really just begun.”
Prof. Harel is funded by the Benoziyo Fund for the Advancement of Science, the Braginsky Center for the Interface between Science and Humanities, and the Willner Family Leadership Institute for the Weizmann Institute of Science. Prof. Harel is the incumbent of the William Sussman Professorial Chair of Mathematics.