Loading…
This event has ended. Visit the official site or create your own event on Sched.
  • Registration is open every day from 7:30 a.m. until the close of the day’s sessions. 
  • 30-minute refreshment breaks are at 10:00 a.m. and 2:30 p.m. daily (Wednesday afternoon break is at 2:00 p.m.). 
  • Lunch is 12:00-1:00 p.m. daily in the Catalina Ballroom (Monday lunch is in the Shutters Hospitality Suite)
View analytic
Wednesday, May 4 • 9:00am - 10:00am
Keynote: Rethinking Software Design

Sign up or log in to save this to your schedule and see who's attending!

The essence of design is structure: What parts comprise the whole and how are they related? In the field of software, we have ways to structure implementation—with functions and datatypes, design patterns, architectures, and so on—but we lack a way to structure behavior. Witness the way we sometimes talk of having “thousands of requirements,” although a requirement is usually little more than a transition in a state machine.

To make software that is more usable and more robust, we need a way to structure behavior. Just as architects design the structure of a building in terms of light and space and flow, leaving to engineers the task of designing the physical structures that will support their visions, so we need software architects who can shape software independently of its realization.

In this talk, I'll present the elements of a new theory of software design that provides a structuring principle for behavior, criteria for identifying good and bad structures, and patterns to emulate. I'll also report on our experience applying the theory on a variety of systems.

Get the slides.

Watch the video.

See an artist's rendering.


Presenters
avatar for Daniel Jackson

Daniel Jackson

MIT Computer Science and Artificial Intelligence Laboratory
Daniel Jackson is Professor of Computer Science at MIT, a MacVicar teaching fellow, and Associate Director of the Computer Science and Artificial Intelligence Laboratory, MIT’s largest laboratory. He is the lead designer of the Alloy modeling language and author of Software Abstractions: Logic, Language, and Analysis (MIT Press, 2nd ed., 2012). He was chair of the National Academies study Software for... Read More →


Wednesday May 4, 2016 9:00am - 10:00am
Bel Aire Ballroom