Essay about Autonomous Vehicles and Software Architectures

1336 Words Apr 29th, 2013 6 Pages
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, non-distributed systems. Provide at least five reasons to support your position.
Autonomous Vehicles and Top-Five Challenges
…show more content…
• 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 systems—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

Related Documents