Posts Tagged ‘modeling and simulation’

In Silico Liver port to MASON

Tuesday, February 23rd, 2010

I set this task aside awhile back. When I returned to it, we had moved the source repository to a different machine. I had lots of changes in my local sandbox. Several of the prerequisite libraries had been upgraded. Etc. After doing all the catch-up work and checking it in, however, it compiled and ran right out of the box! I’m always surprised when that sort of thing happens.

Way early ISL in MASON mock-up.

Swarm’s configure script: Can’t find threads

Friday, January 9th, 2009

We recently settled on Ubuntu as a common operating system for the machines on which we run biological models. That meant I have to reinstall Swarm and we encountered the same error Jim cites here.  Our failure is because the configure script doesn’t test for the amd64 platform.  I added the following lines to the configure (after line 19,539):

elif test -d ${jdkdir}/jre/lib/amd64/native_threads; then
threads=native
JAVACMD="\${jdkdir}/jre/bin/java"

That seems to have fixed our problem, perhaps it will help others who encounter the same error.

Enzyme Induction paper published in Complexity.

Wednesday, October 22nd, 2008

Our paper Enzyme Induction paper has finally been published!  Woohoo!

Agent-Directed Simulation Symposium

Wednesday, September 24th, 2008

As usual, we’ll be participating (to some extent) in the ADS symposium.

The theme of ADS’09 is based on the observation of the following premises.

  1. The growth of new advanced distributed computing standards along with the rapid rise of e-commerce are providing a new context that acts as a critical driver for the development of next generation systems. These standards revolve around service-oriented technologies, pervasive computing, web-services, Grid, autonomic computing, ambient intelligence etc. The supporting role that intelligent agents play in the development of such systems is becoming pervasive, and simulation plays a critical role in the analysis and design of such systems.
  2. The use of emergent agent technologies at the organization, interaction (e.g., coordination, negotiation, communication) and agent levels (i.e. reasoning, autonomy) are expected to advance the state of the art in various application domains. However, modeling and testing complex agent systems that are based on such technologies is difficult. Using agent-supported simulation techniques for testing complex agent systems is up and coming field.
  3. To facilitate bridging the gap between research and application, there is a need for tools, agent programming languages, and methodologies to analyze, design, and implement complex, non-trivial agent-based simulations. Existing agent-based simulation tools are still not mature enough to enable developing agents with varying degrees cognitive and reasoning capabilities.

Ptolemy II Webcam App

Thursday, September 4th, 2008

My partners got so excited about the ease with which one can create data-driven programs using QuartzComposer for the Mac that I just had to demonstrate to them that Apple doesn’t have any kind of lock on this domain. In fact, it brought to my mind a very old Mac OS 9 (or earlier I guess) visual programming language called Prograph, which has now become Marten and a handy little signal processing tool called Cantata, which has now become VisiQuest (look at the tutorials near the bottom of the page). And, of course, that’s not to mention the many other packages out there like PureData, LabView, etc.

Anyway, here’s my demonstration using Ptolemy II 7.0.1 over the top of FMJ (forget JMF - “Oh Sun Microsystems, why have you forsaken us?”):

At our company meeting, we were playing with a USB microscope Don borrowed from a friend of his. And one must admit that’s a much cooler thing to play with than a webcam. But, hey, my point can be made without the fancy hardware. ;-)

The ascription of telos

Wednesday, August 27th, 2008

Things come in threes. I’m beginning to think that this “law of threes” might be a good gauge for when one should actually speak. Perhaps I’ll try it one day … just keep my mouth shut until there are 3 similar things about which to talk. ;-)

Anyway, I recently hosted a poster at the Engineering in Medicine and Biology Conference (EMBC) entitled: Using an In Silico Liver to Evaluate a Hepatic Enzyme Induction Mechanism. I won’t attempt to explain the contents, here (thank the gods, eh?); but the gist of it was that all models, including in silico (a.k.a. computational), in situ, in vitro, in vivo, indeed ALL ways of interacting with anything, involve what we’re calling a “phenomenal manifold” (a.k.a. an “aspect” as in Aspect-Oriented Programming). Basically, whenever a subject interacts with an object, the interaction is always mediated by some layer … a membrane. The subject cannot reach directly inside the object and manipulate or observe anything she might want to. Such interaction is always distorted, governed, or transduced through this layer. Granted, sometimes the layer can be very transparent so that it seems as if you’re touching the object directly. But in other cases, there are highly nonlinear or unpredictable effects when the subject manipulates the object or the data from observation can be very cryptic or misleading.

Why is this important? Well, in the context of using computational models to understand an extant system, the phenomenal manifold must be explicitly included in the experimental method. Otherwise, the results will not be repeatable and the effort can’t be considered “science”.

That’s the first of the three. The second is that one of us just got their hands on a high powered microscope and his family has been spending quite a bit of time staring at pond water animals through it. This sparked an argument between me and him about the telos of these animals’ motion. I suggested that it was primarily (say 70%) random, probably even Brownian (an aggregate of collisions with much smaller forces). He countered that their movements seem very purposeful, that they very clearly swim from place to place.

Now, I ran this by a few people, including biologists, and they all agree with him. The consensus seems to be that the motions of these animals do have telos and I am wrong. However, I maintain my skepticism primarily because this has the same texture as a mistake I’ve seen people make over and over again, never learning the lesson. We humans always ascribe telos. It is the fallacy of anthropocentrism. Besides, I can imagine many random, including Brownian-style, mechanisms that might generate seemingly purposeful behavior. So, as long as my imagined proto-hypothetical mechanisms are not falsified, my skepticism is appropriate and it’s just sloppy thinking to jump to the conclusion that the motions must be purposeful.

So that’s 2. And I was waiting for my partner to post some pictures or video about this locomotion to launch into the argument, here. But then the third thing came rattling down the pipe. I finally got caught up on my e-mail and, lo’ and behold, I find this post on Panda’s Thumb, wherein we find the telos-obsessed Intelligent Design people misquoting John von Neumann regarding the disturbing randomness at the heart of evolution. It’s useful to requote an excerpt of the quote used by Douglas to show that Berlinski misrepresented von Neuman. 8O

Yet many efficient (?) and purposive (??) media, e.g., language, or the national economy, also look statistically controlled, when viewed from a suitably limited aspect.

Flashback to an old simulation

Tuesday, August 12th, 2008

I got the new Silicon Forest Universe 2.0 poster and flashed back to SwarmCorp’s multi-scale Alzheimer’s Disease model.  We used a product called “TheBrain”, which has now been forked into several products by TheBrain Technologies, Inc..  Anyway, I dug up our old brain map from my SwarmCorp archives, imported it into the PersonalBrain I just downloaded and here is the result.  I love technology sometimes. … Of course, most times I hate technology.  But this was a nice fugue of nostalgia.  Thanks to TheBrain Technologies!

Note that the ADBrain was built by Chris, whereas I wrote most of the simulation and Visio code to which the ADBrain hooked.

“Sustainability” is a form of Karma Yoga

Friday, March 14th, 2008

I’ve been thinking quite a bit about “sustainability” lately. As a follower of the computationalist school of complex adaptive systems, I tend to believe “sustainability”, as a concept, is either ill-formed or merely an ideal limit that can only be approached, not obtained. But, in either case, it is a worthy goal. Also, as a follower of critical rationalism, my contribution (assuming I contribute at all), will probably consist mostly of a clarification of the concept so as to make it well-formed or more approachable. After all, what is modeling and simulation, except a tool for thinking … for refining thoughts and concepts? Of course, it’s a matter of faith whether more refined concepts can lead to more precise and accurate action. A faith which I obviously hold.

In any case, I’m also a fan of philosophy because, as Jesus’ parable of the sower says: “he that received seed into the good ground is he that heareth the word, and understandeth it; which also beareth fruit, and bringeth forth, some an hundredfold, some sixty, some thirty”. I.e. if you work to ensure that your gestalt is robust, when you receive information and integrate it (as opposed to grafting it on with spit and bailing wire) into your gestalt, the return you will realize off that new information will be manifold.

So, in that spirit, while poking around in Eastern philosophy, the concept of karma (accumulated effects of action) yoga (discipline) leads me to correlate this “new” concept of “sustainability” with karma yoga. The official karma doctrine seems to say that karma takes effect after one dies and guides the circumstances into which (supposedly) that same person is reborn. So, karma yoga would be the process of learning to discipline your actions so that you accumulate less karma. If you have no karma when you die, then you are liberated (and presumably not reborn).

If we really stretch our metaphor muscles, we can think of reincarnation as neo-Darwinian evolutionary descent and karma as the stigmergic process of modifying our environment (including our selves), by our actions, to such an extent that subsequent generations (in our particular lineage) are constrained and facilitated by the modifications made to the environment. For example, prior generations have, through their karma-laden actions, built the city of New York. Current generations are born and live much of their entire lives where their movement is constrained to the streets (i.e. they can’t walk through buildings), their dwellings are constrained to the structures, their “hunting” is constrained to the established market places, etc. An accepted term for this historical accumulation and collaborative construction over time is “stigmergy”. Stigmergy is karma.

Viewed this way, the “new” efforts described as “sustainable” consist of disciplining our actions so that future generations are not as constrained by our actions as they otherwise would be. Ideally, we would liberate subsequent generations to experience their environment in as many ways as possible without coercing them to homogenously trudge down a stiffly constrained rat hole.

Now, the above text might lead one to think this is incompatible with the more exploitative technologies like the manufacture of silicon wafers, where companies externalize their pollution in the form of toxic chemicals and heat. But, it doesn’t. The invention of the silicon-based quantum well, the transistor, the integrated circuit, and the modern computer, all fall into karma yoga, disciplined action intended to liberate subsequent generations. It’s not a contradiction. It’s a paradox, which is resolved by hopping up to a higher level of discourse. The invention of this heavily polluting technology has opened more doors through the facilitation of information flow than it has closed through the deleterious effects of its pollution.

I.e. the liberation of subsequent generations from the karma of our actions does not necessarily imply some idyllic surface world populated with hunter-gatherer Eloi powered by a dirty smelly underworld populated by Morlocks. A future environment built through “sustainable” processes may look entirely different from any world we’ve seen or imagined so far … perhaps a world where the toxic waste generated from silicon wafer manufacturing is nutrient for several life forms … which means it would only be “waste” to the wafer producers but would be raw materials for others.

So, if we think deeply about “sustainability”, we may be able to co-construct (with our sibling life forms in our current ecology) an entirely new landscape that is less fragile than the one we’re currently constructing. But to do that, we will need to develop some methods for measuring and estimating the long-term effects of our current actions.

My punchline’s always the same, I’m afraid. ;-)

How do we measure and estimate the long-term effects of our current actions? Why, through modeling and simulation, of course!

- gepr