In a recent audio podcast, three of us were discussing personalized modeling from different angles–including using art and craft-inspiration, and engineering culture. Karen Doore, Sharon Hewitt, and I engaged in a short conversation that is part of a series of podcasts called Creative Disturbance. Anyone who has been to a modeling and simulation conference notices that…the people attending are all quite different. Often having different degrees and from different departments and schools. There is good reason for this: modeling is inherently an area that connects different people and things together. This diversity plays out, also, in our modeling choices. What is your favorite modeling system or language? What underlying analogies are used?
Coding. Modeling. Which came first? And what should we be teaching our students? There has been some recent discussion on this from two blogs: Chris Granger who suggests that modeling is the new literacy, and Mark Guzdial who observes that modeling requires coding. Let me begin from the beginning–as an after-school programmer in 10th grade with punched cards and FORTRAN 66. We were introduced to a green plastic IBM template which captured the modeling task known as flowcharting. Flowchart templates promote control flow thinking–these control flow diagrams are models of code. One made a flow diagram first, then wrote code. I don’t know whether this is still common practice–to model control flow in pictures, and then proceed to write down code as text. Has this modeling effort been relegated only to the advanced reaches of software engineering courses taken only by CS majors?
Chris and Mark both have valid points. Code is at the bottom layer of modeling. Think of code as modeling with the technology of type. All models are tied to explicitly to types of technology, and so types of media. Consider James Clerk Maxwell’s plaster model of Gibb’s thermodynamics surface. A new way of understanding thermodynamics–using the technology of plaster of Paris. Typeset equations are another way. If your technology is a typewriter or a keyboard, then your computing model is going to look like code. If you use different technology, your “code” will look radically different — it may be physical or in diagrammatic form. Most dynamic models we create in the CA Lab are either physical or diagrammatic, but code is indeed at the bottom layer. When I teach process, I cover a combination of control and data flow methods. Data flow thinking is where the process is based on a description of how data are manipulated over time–data flow is a natural way of thinking about computing, and it has the added benefit of weaving in thousands of years of analog computing practice. Another benefit of data flow thinking and modeling is that one comes to understand computer science, and information science, as real sciences–seeing information everywhere rather than remaining glued to a keyboard and the accompanying video. We need modeling and we need coding. But, more than this, we need the respective communities around modeling (e.g., SCS, ACM SIGSIM, IEEE Systems Science, Engineering & Cybernetics) to better connect with organizations devoted to teaching computer science (e.g., ACM SIGCSE). Because these two communities seem lightyears away from each other when they shouldn’t be.
Most of our research in the Creative Automata Lab is devoted to better understanding mathematics and dynamic system modeling through multiple modalities and representations. This strategy is partially art-based, and stresses an individual orientation toward education rather than one based on standard notations pushed to the masses. The lab stresses having more people understand modeling. Last month, I was intrigued by news of someone in the UK holding a professorship entitled the Public Understanding of Philosophy. And I found information on two faculty (Richard Dawkins and Marcus du Sautoy) who hold the title of Simonyi Professor for the Public Understanding of Science at Oxford. The emphasis on public understanding of an academic area has a strong fit with our lab goals. But, there is something deeper happening: Ideally, all university faculty should strive toward a public understanding of their disciplinary topics. Engaging the public directly, and speaking more broadly about an area, should be explicitly encouraged and rewarded by university administration at all levels. As faculty, we need to maintain deep disciplinary depth, but we must also strive to gently establish tendrils throughout the university knowledge infrastructure. A justification for this need can be seen in the latest version of National Geographic entitled “Why do Many Reasonable People Doubt Science?” Perhaps fewer people would doubt science if universities made a stronger effort at public outreach and communication. Public outreach is not a speciality; it should be a job requirement within the academy. Publishing in a society transactions moves a field forward, expanding our essential knowledge base. Talking and publishing to a wider audience brings more people into our fields. More people on the planet become better educated. If we try, we can achieve both breadth and depth of knowledge. If you are a faculty member at a college or university, you find yourself in a park on one side of a bridge. The public is waiting for you on the other side. Meet in the middle?
Design is a big word, and something we all feel passionate about. We know from Jonathan Ive of Apple that well-designed things can enrich our lives and, indeed, do quite well in the marketplace. Think of products such as the iPhone, iPad, and the upcoming iWatch. These products are well designed by Apple, and meant for you, the consumer. There are ways to customize the look and feel of the human interface in these devices. But, is it possible for people to design things for themselves? Yes, but for a different type of market: self-education. Imagine that you are in a class, trying to learn something hard like computer science or calculus. Further imagine that the teacher, rather than dishing out pre-designed computing and mathematical structures plays the role of facilitator, allowing you to design your own objects. Design your own code. What would it look and sound like? Design your own integrator. Make your own personal language. Design your own representation for equations. This isn’t about markets and sales. It is about allowing you to craft your own self-inspired representations–as a way to promote self-interest and creativity–you may come to learn better because you have been given an opportunity to create rather than to interpret the symbols of others. This approach of designing something yourself to learn something goes by another name: art. Let’s promote learning by creative representation and creative design. Design, in this particular instance, not of creating something for other people, but creating something because it moves you.
Much of what we do in the Creative Automata (CA) Lab is oriented around multiple representations of a single abstract mathematical concept–such as integration in calculus or sorting in computer science. How can we personalize approaches for learning something like integration? Is it possible to leverage our multiple cultures to engage and motivate the learner? The lab just submitted our video entry to the National Academy of Engineering (NAE) Grand Challenges for Engineering Video Contest called E4U2. Sharon Hewitt from the CA Lab designed and produced this video. The video segments include representations of a virtual analog computer based on the sand-like flow in PowderToy, as well as several personalized models of the Lotka Volterra model. Instead of making models for other people, consider that you can learn about modeling by making these wonders for yourself. In this arts-based approach, you will also interest other people in modeling.
This is a circuit created by a Creative Automata Lab research assistant David Vega. The circuit is a physical incarnation of the Fibonacci difference equation f(m) = f(m-1) + f(m-2), where “m” equals the current month in decimal. We begin the Fibonacci sequence by iteratively solving, beginning with f(0)=f(1)=1. These values jump start the difference equation: f(2) = f(1) + f(0), f(3) = f(2) + f(1), and so forth. The sequence ends up as 1,1,2,3,5,8,13,21,34 until we decide to stop. These numbers are termed Fibonacci numbers. There are all kinds of interesting real-world patterns related to these numbers, including the spiral pattern found within a nautilus shell. This equation represents an idealized model of rabbit population growth. The equation was re-represented as a visual Max/MSP patch, and then translated into an equivalent electronic circuit using Teensy 3.1 microcontroller boards. The boards, populating the breadboard above, are connected using serial communications, and there is “software clock” that regulates the data flow. In Max/MSP this clock is programmed as a [metro] (short for metronome) object. This circuit will be transformed yet again into a tangible artwork where the Teensy boards are housed in 3d printed rabbit objects. I’ll post another entry when we get to that stage. You’ve probably heard of “embedded systems,” so this is a case where the embedding is meant to draw in the participant in a way not really possible with the textual difference equation.
Usability is a key topic and frequently thought of from the perspective of the human-technology interface. How easy is your oven to use? Is your exercise bracelet elegant, but hard to put on your arm? The illusion of usability is related to my previous post, since usability depends on the person using it. There is no such thing as generalized usability. Let’s take a famous graphic–shown above–created by Charles Minard. This graphic is a map of Napoleon’s disastrous Russian campaign of 1812. This is a visually striking map and elegantly shows a number of variables (6 types). The diagram is probably adorning walls and in coffee table books everywhere. According to a Wikipedia article, “modern information scientists say the illustration may be the best statistical graphic ever drawn.” If your expertise is statistical graphics, knowledge of such a map is undoubtedly of significant academic use. What if you just wanted to know how many soldiers died during the walk to Moscow and back? What if you were not interested in knowing the temperature, or the lat/lon geographic coordinates? Perhaps you’d rather experience what it was like in 1812 during the slow frozen march? Representations are only as good as the explicit, and unique, purpose required by a viewer. An eight year old might do better with a verbal description, or a reproduction of a painting that is not too graphic. I attended a talk recently, where the speaker spent some time crafting a story using a slide containing Minard’s graphic–the illusion was that the image was telling the story, when in fact, one had to consider the medium being used, the speaker’s voice, the elements left in, and left out of the story. The image itself has no story to tell; one requires human interaction to achieve that effect–it was his theatrical performance that brought Minard’s graphic to life. Models are just like Minard’s masterpiece–you have to design them very carefully for one specific type of user. Ideally for a single person. Is there a simulation model equivalent to Minard’s graphic? The notion that one size fits all is false at best, and dangerous at worst.
Artists created the first virtual realities — sometimes in the forms of cave drawings, paintings, and friezes. The above photograph is a woman who is experiencing the virtual experience of stereo viewing of a remote object or scene with a stereoscope. As modeling and simulation researchers, we should think of new ways to represent models of observed phenomena. Do you use equations, statistical plots, or diagrams with pointy arrows and boxes? With the rapid expansion of the web, we are reaching a state where multiple representations for any abstract concept are at our fingertips. Seeing one abstract concept 300 different ways. This is especially important for those outside of engineering. Modeling and simulation, as a discipline, is becoming so widespread that we need to bring the academic knowledge of our area into the hands of everyone. We are not going to reach the masses with limited human experiences for modeling. That means diversity in model representation. Want to model something but not in Simul8 or Arena, but instead in Minecraft? Go for it. For the professional engineer, Minecraft is the wrong choice. But for teaching the student who grows up in these new powerful multi-player virtual worlds, why not use environments that attract them rather than conforming to a perceived set of standards employed mainly by a limited set of professionals. Strap on your Victorian-era stereoscope and come with me on a different sort of simulation modeling adventure.
In my last post entitled Engineering the Humanities, I suggested that some aspects of how the humanities are evolving appear to be less due to the introduction of digital tools and new technologies, but rather due to an osmotic leak from engineering culture. Engineering culture manifests scholarship and building in the same human being. Now, I’d like to move in the other direction following an earlier post where I had previously visited the homes of digital humanities researchers. So, what is missing from engineering education? Lots. Let me pick some big ones: philosophy, history, writing, and language. In my area (computer science), history is virtually non-existent. Occasionally, a hat comes off in the general direction of early digital machine architectures, but what about analog computing, which has existed for millennia? One might say that analog computing is not general purpose, but when did “general purpose” matter when the goal of engineering is to solve a specific set of problems (e.g., Vannevar Bush’s differential analyzer)? History is critical to contextualizing engineering and understanding its role in society. Don’t get me started on writing. I vividly recall an experience I had many years ago when reading something written by an English professor. The text was clear, concise, and I understood what was being conveyed. It was pleasantly shocking, contrasted with the dry prose in my discipline. Methods for clear communication and the approaches needed for writing are situated within the humanities. I spend a good deal of time editing what students have written. And, yes, my own writing could use a lot of improvement. Then, there is philosophy. Many of us who read and write discipline-specific scholarly literature have the word “Philosophy” in our degree titles. I take that seriously–it means that owning such a degree, we should be aware of the areas within philosophy and questions that continue to hound us 2500 years after they were posed. The key to philosophy is to ask questions. What? Why? How? It is a bit childlike at the core, but the academy is founded upon questioning. There may not be answers, but there will always be questions.
When I landed my first academic job at the University of Florida in the mid-80s, I began a slow and steady life journey of knowledge enrichment, which included making friends and colleagues in different schools. One of the things that confused me then, and continues to be a puzzle now, is the schism existing between and among areas such as arts, humanities, science, and engineering. Here is one example of a schism, or perhaps more of a deep canyon. Recall that the humanities are traditionally very old subjects–been around a while and dominated by reading and writing: Scholarly production. Then, consider the arts, and by “arts,” I am referring to the arts of the senses such as fine art, ceramics, sculpture, and performing arts such as theatre and dance. Tasks that involve making live in the art building. People are making things–paintings, kinetic sculptures, cinema. Tasks that involve writing are somewhere else on campus–in the humanities building. There is a deep schizophrenia where the people who “make” and the people who “write” don’t talk much with each other. As an engineer, I find this peculiar because in engineering, not only are writing and making in the same place, they are also in the same person. All engineers are expected to form carefully worded arguments about what they contribute to knowledge through making; engineering has a high degree of scholarship as do most areas within the university. All of this causes me to wonder whether what is going on in “digital humanities” is actually a leaking of engineering culture into the humanities. Is that a bad thing? I don’t think so, and let’s not muddy the waters in the digital humanities with misleading phrases like “using a tool” or “using technology.” These have nothing to do with what is occurring at a fundamental, philosophical level within the humanities. At the core, the transitions are about a social and cultural osmosis from science and engineering. Similarly, there are big shifts–rooted in the arts and humanities–occurring in science and engineering, but that is the subject of another post.
A long time ago, I told a friend that I was starting to move more deeply into the field of modeling and simulation. The friend said to me “It’s about time.” How true. For no particular reason other than it being January 1st, I thought it appropriate to celebrate the 555 timer integrated circuit (IC), which was designed in 1971 by Hans Camenzind. This is one heavily-used IC, and it can be purchased well under one US dollar depending on the source. The above picture is called a block diagram — which is a high level design description of how the IC functions. If you looked inside, you’d find mostly transistors with resistors and a couple of diodes. Think of the 555 as something that can create a well-timed oscillating square wave, or just a “one shot” pulse of a given width. An egg timer, but more precise. Having just sung the praises of this IC, we also need to put this technology into context with regard to time management. The most accurate time is kept by atomic clocks, such as those employing cesium. In the semiconductor world, there is also a tug of war, sort of, between MEMS-based oscillators (oscillators built into the silicon) and quartz (which you may have seen on an Arduino or other similar micro controller). All of these technologies are “about time.” With the Internet of Things (IoT), computers built around micro controller chips are getting much smaller, more powerful, and are cheaper (although not yet at the < $1 level). For example, you can make your own bare bones Arduino for about $4. You can program a 555’s behavior in software rather than through voltage dividers and a capacitor. What will 2015 bring us? There is no time like the present.
Computing using water goes back to the use of clepsydra, which is Greek for “stealing water.” Since all clocks are astronomical computers in origin, clocks represent some of the earliest, complicated, computers. In the 20th century, we have the Soviet-era hydrointegrator based designs of Lukyanov, and the Phillips machine housed in the Science Museum in London. The Phillips machine was called MONIAC and is a wonderful mechanism to behold, as it still is turned on for demonstrations. We designed and built a water computer that is hybrid analog/digital. The analog components are the two water containers, the water reservoir, the 3D printed servo housing and gears. Michael Howell and David Vega in the Creative Automata lab worked in unison to design and implement the computer. The model implemented is that of the Lotka-Volterra (LV) predator prey model. The water column on the left side of the above figure represents the prey population level) and on the right side, the predator population. Water rises and falls in each column in accordance with the dynamics as calculated over time with LV. The electronics used includes two water pumps in the reservoir, 4 servos and gears (3D printed using Makerbot), and a TFT shield mounted on an Arduino Mega. The goal motivating us to create this water computer was to surface the dynamics of LV in physical form for enhanced communication and education — holding the interest of the general public longer than would be possible with flat symbols and drawings. Subsequent models may be located within the ATEC building or in a local art or science museum. This is our first functioning tangible model prototype, and we have several others that will use this as a foundation. A video can be watched here. Water computing: welcome back to the future.