终于找到了这个原文

之前看到过一篇文章,分析了Toyouta的Camery车型所发生的突然加速导致的交通事故中,几位嵌入式系统专家对原因进行的分析的文章,看了之后颇多感慨,一直想找到原文看看,不可得,只找到了这个大概报道。

 

Embedded Expert: No Pedal Misapplication in Toyota Case

 

 

The Toyota unintended acceleration case decided by a jury two weeks ago may have hinged on the testimony of an embedded systems expert who definitively said there was no pedal misapplication. Michael Barr, CTO and co-founder ofBarr Group, told the court that the fatal accident involving a 2005 Toyota Camry was the result of a systematic software malfunction, combined with a loss of throttle control.

”The dispute in this case is related to computer software and hardware,” J. Cole Portis, attorney for the plaintiffs, said in a summation argument obtained by Design News. “That is what we have talked about; that is the issue in the case…”

The highly publicized case involved a 76-year-old driver who exited an Oklahoma freeway, sped down an off-ramp, and crashed her car. The driver was seriously injured, and her passenger died. The crash occurred in 2007, years before the Toyota “unintended acceleration” incidents became national news.

Toyota argued that the incident was caused by pedal misapplication -- in other words, the driver pushed on the accelerator when she should have stepped on the brake. The 2005 Camry did not have a black box onboard to record the driver’s actions prior to the accident.

Barr, who worked on behalf of the plaintiffs, told the court that he hunted through hundreds of thousands of lines of Toyota’s software code, spending approximately 15 months and 2,000 hours in the process. He wrote an 800-page report. He was one of a dozen engineers designated by the court to examine the car’s embedded computer system. His testimony did not rely on any previous unintended acceleration theories involving loose floor mats, sticky accelerator pedals, or so-called "tin whiskers." Instead, it drilled down into the software code, making the case that Toyota’s software “failsafes” had holes in them, which led to a system malfunction. ”The failsafes that they have contain defects or gaps,” Barr said in sworn testimony. He added that the Camry’s safety architecture was “a house of cards.”

The failsafes were significant to the case because such systems are put in place by engineers to intercede if the engine’s throttle-by-wire control is lost. Barr argued, however, that the failsafes were constructed in a way that might cause them to be unsuccessful in such a situation. ”It is possible for a large percentage of the failsafes to be disabled at the same time that throttle control is lost,” he testified.

Barr’s position seemed to fly in the face of earlier statements made by former Secretary of Transportation, Ray LaHood, in February 2011. “We enlisted the best and the brightest engineers to study Toyota’s electronics systems, and the verdict is in,” LaHood was widely quoted as saying back then. “There is no electronic-based cause for unintended high-speed acceleration in Toyotas. Period.”

Barr argued, however, that NASA scientists who studied the Toyotas had left the door open for other, unexamined possibilities, saying they couldn’t rule out the existence of a systematic software malfunction.

 

During the trial, Barr told defense attorneys that dynamometer tests had shown that Toyota's built-in failsafes had "gaps" in them. Moreover, he said, skid marks at the accident scene were not compatible with pedal misapplication, pedal entrapment was not an issue, and the vehicle had been inspected a dozen times for mechanical problems, such as throttle blockages. As a result, he concluded that it was more likely than not that a software malfunction had caused the throttle problem

When a Toyota defense attorney suggested that the accident could be explained by a simple pedal misapplication, Barr responded, "No, it cannot," according to court transcripts.

After a number of unintended acceleration cases came to light in the media during the past three years, the National Highway Traffic Administration stepped in and proposed a standard for a “brake-throttle override” system that would shut down the throttle in rare cases of unintended acceleration. Manufacturers enthusiastically supported the creation of a standard. Toyota did not have such a system on the 2005 Camry in the Oklahoma case, however.

Jurors in the case awarded $1.5 million to the driver and $1.5 million to the family of the passenger who died in the crash. A subsequent private settlement was reached to head off further punitive damages.

 

During the trial, Barr argued that Toyota could have easily saved itself all its troubles by implementing a brake-throttle override system. “It would have been very simple…” Barr said in testimony. “Toyota could have done this in 2002 without any extra cost to the vehicle.”

 
 
 
 

转载于:https://my.oschina.net/drjones/blog/176913

实现原文和译文对比,找到原文对应译文的句子可以使用Java中的字符串匹配算法,如KMP算法或Boyer-Moore算法。 以KMP算法为例,可以按照以下步骤实现原文和译文的对比: 1. 将原文和译文分别存储到两个字符串中。 2. 使用KMP算法在原文中查找每个句子的开头位置,并记录下来。 3. 对于每个原文的句子开头位置,使用KMP算法在译文中查找对应的句子,并记录下来。 4. 将原文和译文中对应的句子用特定的标记标记出来,如加粗或者下划线。 下面是一个简单的Java代码实现: ```java import java.util.ArrayList; import java.util.List; public class CompareSentences { public static void main(String[] args) { String article = "This is the original text. It contains several sentences. Each sentence ends with a period."; String translation = "这是译文。它包含几个句子。每个句子以句号结尾。"; List<Integer> originalSentencesIndex = findSentenceBeginnings(article); List<Integer> translationSentencesIndex = findTranslatedSentences(translation, article, originalSentencesIndex); String highlightedOriginalText = highlightSentences(article, originalSentencesIndex); String highlightedTranslationText = highlightSentences(translation, translationSentencesIndex); System.out.println(highlightedOriginalText); System.out.println(highlightedTranslationText); } private static List<Integer> findSentenceBeginnings(String text) { List<Integer> sentenceBeginnings = new ArrayList<>(); int i = 0; while (i < text.length()) { if (text.charAt(i) == '.') { sentenceBeginnings.add(i + 1); } i++; } return sentenceBeginnings; } private static List<Integer> findTranslatedSentences(String translation, String original, List<Integer> originalSentencesIndex) { List<Integer> translationSentencesIndex = new ArrayList<>(); for (int i = 0; i < originalSentencesIndex.size(); i++) { String originalSentence = original.substring(originalSentencesIndex.get(i) - 1); int index = translation.indexOf(originalSentence); if (index != -1) { translationSentencesIndex.add(index); } } return translationSentencesIndex; } private static String highlightSentences(String text, List<Integer> sentenceBeginnings) { StringBuilder highlightedText = new StringBuilder(); int lastSentenceEnd = 0; for (int i = 0; i < sentenceBeginnings.size(); i++) { int sentenceBeginning = sentenceBeginnings.get(i); highlightedText.append(text.substring(lastSentenceEnd, sentenceBeginning)); highlightedText.append("<b>"); int sentenceEnd = i == sentenceBeginnings.size() - 1 ? text.length() : sentenceBeginnings.get(i + 1); highlightedText.append(text.substring(sentenceBeginning, sentenceEnd)); highlightedText.append("</b>"); lastSentenceEnd = sentenceEnd; } return highlightedText.toString(); } } ``` 在上面的代码中,我们首先将原文和译文存储到两个字符串中。然后,我们使用findSentenceBeginnings方法查找原文中每个句子的开头位置,并将它们存储到一个List中。接下来,我们使用findTranslatedSentences方法在译文中查找对应的句子,并将它们的开头位置存储到另一个List中。最后,我们使用highlightSentences方法将原文和译文中对应的句子用HTML的<b>标签标记出来,以示区分。 值得注意的是,上面的代码只是一个简单的实现,还有很多细节需要处理,如句子中可能包含逗号、问号等标点符号,或者原文和译文中的句子可能存在微小的差异等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值