一位已退休的長輩(他可是一位化學博士)經常告誡我,“了解得越多,所知越有限”(the more we know, the less we know)。
由于我們不斷地克服以往的一些技術障礙,整個系統(tǒng)正變得越來越復雜,同時也更加的不可預測。
·最近的一個例子是來自美國國道交通安全管理局(NHTSA)和美國太空總署(NASA)工程與安全中心(NESC)針對豐田(Toyota)汽車突然加速事件的安全性調查報告。對此,EETimes記者Michael Barr先前已發(fā)表過詳實的報導。簡單來說,NASA表示無法確認但也不排除軟件問題是造成豐田汽車不正常加速的罪魁禍首。
·Green Hills公司技術長Dave Kleidermacher曾經在博客上討論使智能手機更安全可靠的平臺。透過全國性電視廣告來宣傳以手機遠距離發(fā)動汽車是如何地不可思議──這難道是只有我一個人還是大家都覺得一整個方式十分愚蠢呢?不過,十多歲的青少年或是像美國黑帽樂隊(Black Hat)才會欣賞這種方式吧!
·紐約時報(The New York Times)先前發(fā)布過有關駭客入侵時代廣場(TimesSquare)電子看板的訊息。第一則駭客的行為最后被發(fā)現只是一種為電影宣傳的手法──實際上只是網路上流傳的一則YouTube短片,而第二則可是真正以手機控制了這些電視屏幕,只不過時間有點短罷了。
·史丹佛大學大學在其Facebook頁面上描述了工程師們如何解決復雜且無法預測的“氣動彈性顫振”(aeroelastic flutter)問題。(小心!如果你剛好在飛機上用WiFi看這則文章的話,千萬別點選觀看這則視訊短片。)
何去何從?
軟件(和硬件)越復雜,就越難為其定型或找到極端案例(corner case)。我們對于已知的“未知”似乎就已經難以進行評估了,至于如何預測不可知的未知,當然就更加完全一無所知。
我們只知道競相攀爬莫測高深的“抽象階梯”(abstraction ladder),以期擁抱設計復雜性,但卻也制造了不少問題。我最近參加了在鳳凰城(Phoenix,AZ)所舉行的大學工程系年會,會中有一位來自業(yè)界的提問人在一群學術界人士為主的座談上直搖頭──能夠培養(yǎng)出了解理論又會處理抽象問題的真正聰明學生固然不錯,但如果他們缺乏工程學的基本概念,將來進入業(yè)界后,公司還是必須重新訓練或再教育他們。
在預測不可知的未知世界時,我們如何做得更好?有一種正規(guī)的方法可循嗎?難道不可能嗎?
Original:
The uncertainty principle
--The Article is quoted from Brian Fuller''s Blog
In his dotage, my old man (a chemistry Ph.D) used to say, as he slowly stirred his martini with a crooked finger, “the more we know, the less we know.”
As systems become increasingly complex because we overcome old technological hurdles, they also become more unpredictable.
One recent example is report that NHTSA and the NASA Engineering and Safety Center (NESC) published regarding unintended acceleration of Toyota automobiles. Michael Barr has an excellent report on it. In short, NASA said it couldn’t rule in but couldn’t rule out software problems as a culprit in the unintended acceleration problem.
Dave Kleidermacher blogged about making smart phones trustworthy platforms. Is it just me or is it complete lunacy to run a national TV advertising campaign touting the wonders of starting your car remotely with a cell phone? Your teenage daughter may appreciate the gesture but so too do legions of black hats. (See Kleidermacher’s earlier post on smart phones and security.
The New York Times had a pair of posts this week about hacking a Times Square video screen. The first hacking attempt turned out to be a hoax but a really popular YouTube video; the second a real attempt that came up a bit short.
And Stanford, via its Facebook page, has described how engineers are addressing the “aeroelastic flutter” problem, a complicated, unpredictable phenomenon. (P.S. don‘t watch this video if you happen to be on a plane with WiFi)。
What’s ahead?
The more complex the software (and hardware), the harder it is to model and find corner cases. We seem to be falling behind in assessing the known unknowns and we’re completely in the dark about how to approach unknown unknowns.
We race up the abstraction ladder to try to keep our arms around design complexity, but that creates other issues. I attended the annual meeting of college engineering departments recently in Phoenix and one questioner from industry stood before a panel of academics shaking his head. It’s great to turn out really smart kids who know theory and can deal with abstraction, but if they struggle with basic engineering concepts, companies need to train (or retrain, perhaps) them.
How are we going to get better at anticipating the unknown unknowns? It is formal methods? It is impossible?