Monday, September 16, 2019
Autonomous Vehicles and Software Architectures
Author: Anonymous Date: Tuesday, August 21, 2012 10:07:54 AM EDT Subject:Week 1 Discussion 2 ââ¬Å"Autonomous Vehicles and Software Architectures â⬠Please respond to the following: * Autonomous vehicles utilize integrated imaging and vision systems, sensor systems, and control systems to ââ¬Å"drive a carâ⬠. Determine what you believe are the top-five challenges of integrating these systems. Provide one example for each challenge and explain why you believe it is a challenge. * Explain whether you believe there is a difference between designing and developing software for distributed architectures and stand-alone essay writer help, non-distributed systems.Provide at least five reasons to support your position. Autonomous Vehicles and Top-Five Challenges 1. ) Just for starters, who would be responsible for accidents? Software used in such cars would have to have the same basic reactions as humans, and if there is a computational fault that causes a crash, would the driver or the software-making firm be at fault? Not only this, but vehicle safety standards would have to be assessed and potentially rewritten to account for electronics as well as mechanics ââ¬â and knowing how governments work, this could take a while. . ) No system is faultless, and everything has a chance of failure. But if a computer system fails when youââ¬â¢re on the highway, not only could it prove more dangerous than usual ââ¬â as your attention is unlikely to be fully on the road if something else is in control ââ¬â and so a self-driving car would have to come with a plethora of safety mechanisms in place to cater for these issues. Not only this, but such a system would have to be able to react to unexpected situations. For example, how would an autonomous car react if a child ran out into a road?The technology may be shiny and new, but safety will prove a massive challenge before this kind of technology will be allowed to see the light of day when it comes down to the general public. Specifically, driving in snow is proving challenging because the snow covers the markers and visual cues that the autonomous sensor technology relies on to pilot a vehicle on its own. 3. ) There also may be problems with new roads or changes in street names as well as with situations in which police are manually directing traffic. 4. Another challenge is driving through construction zones, accident zones, or other situations in which a human is directing traffic with hand signals. The cars are excellent at observing stop signs, traffic lights, speed limits, the behavior of other cars, and other common cues that human drivers use to figure out how fast to go and where and when to turn. But when a human is directing traffic with hand signalsââ¬âand especially when these hand signals conflict with a traffic light or stop signââ¬âthe cars get confused. 5. Data Challenges: An enormous amount of data will become available for alternative usage, which is like ly to present challenges and opportunities pertaining to data security, privacy concerns, and data analytics and aggregation. Privacy concerns must be resolved to enable the deployment of integrated sensor-based and cooperative vehicle technologies. A balance between privacy protection interests and other affected interests is essential to resolve conflicts between the stakeholders who will make decisions about how information is collected, archived, and distributed.Potential stakeholder concerns are numerous: disclosure of vehicle data could reveal trade secrets; public personalities, such as politicians and celebrities, could be connected to potentially embarrassing locations or routes; and ordinary citizens could find themselves spammed or stalked as the data enables a variety of harmful applications such a as commercial misuse, public corruption, and identity theft. And whatââ¬â¢s to prevent nefarious governments from using the expanded surveillance capabilities to spy on the ir citizens?Data Security: Numerous security threats will arise once personal mobility is dominated by self-driving vehicles. Unauthorized parties, hackers, or even terrorists could capture data, alter records, instigate attacks on systems, compromise driver privacy by tracking individual vehicles, or identify residences. They could provide bogus information to drivers, masquerade as a different vehicle, or use denial-of-service attacks to bring down the network. The nefarious possibilities are mind-bogglingââ¬âthe stuff of sci-fi thrillers.But system security will undoubtedly become a paramount issue for transportation systems with the successful deployment of integrated sensor based and cooperative vehicles. Difference Between Distributed and Non-Distributed Systems A distributed system is a computing system in which a number of components cooperate by communicating over a network. Computer software traditionally ran in stand-alone systems, where the user interface, applicatio n ââ¬Ëbusinessââ¬â¢ processing, and persistent data resided in one computer, with peripherals attached to it by buses or cables.Inherent complexities, which arise from fundamental domain challenges: E. g. , components of a distributed system often reside in separate address spaces on separate nodes, so inter-node communication needs different mechanisms, policies, and protocols than those used for intra-node communication in a stand-alone systems. Likewise, synchronization and coordination is more complicated in a distributed system since components may run in parallel and network communication can be asynchronous and non-deterministic.The networks that connect components in distributed systems introduce additional forces, such as latency, jitter, transient failures, and overload, with corresponding impact on system efficiency, predictability, and availability [VKZ04]. â⬠¢ Accidental complexities, which arise from limitations with software tools and development techniques, such as non-portable programming APIs and poor distributed debuggers.Ironically, many accidental complexities stem from deliberate choices made by developers who favor low-level languages and platforms, such as C and C-based operating system APIs and libraries, that scale up poorly when applied to distributed systems. As the complexity of application requirements increases, moreover, new layers of distributed infrastructure are conceived and released, not all of which are equally mature or capable, which complicates development, integration, and evolution of working systems. â⬠¢ Inadequate methods and techniques.Popular software analysis methods and design techniques have focused on constructing single-process, single-threaded applications with ââ¬Ëbest-effortââ¬â¢ quality of service (QoS) requirements. The development of high-quality distributed systemsââ¬âparticularly those with stringent performance requirements, such as video-conferencing or air traffic control sy stemsââ¬âhas been left to the expertise of skilled software architects and engineers. Moreover, it has been hard to gain experience with software techniques for distributed systems without spending much time wrestling with platform-specific details and fixing mistakes by costly trial and error. Continuous re-invention and re-discovery of core concepts and techniques. The software industry has a long history of recreating incompatible solutions to problems that have already been solved. There are dozens of general-purpose and real-time operating systems that manage the same hardware resources. Similarly, there are dozens of incompatible operating system encapsulation libraries, virtual machines, and middleware that provide slightly different APIs that implement essentially the same features and services. If effort had instead been focused on rapidly by reusing common tools and standard platforms and components.Distributed Systems Therefore, distributed and non-distributed compute r system are different in these ways. * Distributed architecture has the ability to scale out and load balance business logic independently. * Distributed architecture has separate server resources that are available for separate layers. * Distributed architecture is flexible. * Distributed architecture has additional serialization and network latency overheads due to remote calls. * Distributed architecture is potentially more complex and more expensive in terms of total cost of ownership. Non-Distributed Systems Non-distributed architecture is less complex than distributed architecture. * Non-distributed architecture has performance advantages gained through local calls. * With non-distributed architecture, it is difficult to share business logic with other applications. * With non-distributed architecture, server resources are shared across layers. This can be good or bad ââ¬â layers may work well together and result in optimized usage because one of them is always busy. Howe ver, if one layer requires disproportionately more resources, another layer may be starved of resources.
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment
Note: Only a member of this blog may post a comment.