1 / 12

P rogramming i n t he M any Software Engineering Paradigm for the 21 st Century

P rogramming i n t he M any Software Engineering Paradigm for the 21 st Century. Nenad Medvidovic Center for Software Engineering Computer Science Department University of Southern California Los Angeles, CA 90089-0781 neno@usc.edu http://sunset.usc.edu/~neno/. PITL in a Nutshell.

nika
Download Presentation

P rogramming i n t he M any Software Engineering Paradigm for the 21 st Century

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Programming in the ManySoftware Engineering Paradigm for the 21st Century Nenad Medvidovic Center for Software Engineering Computer Science Department University of Southern California Los Angeles, CA 90089-0781 neno@usc.edu http://sunset.usc.edu/~neno/

  2. PITL in a Nutshell • The past: programming in the small (PITS) • small, simple systems • single developer (or small teams) • programs are hacked • developer = customer = user • The present: programming in the large (PITL) • large, complex systems • powerful hardware • teams of developers • systems are engineered • many people, many roles

  3. Why PITL? This is a simple software system!

  4. Yesterday’s Tool: Design Abstraction We have to do better!

  5. Architecture to the Rescue

  6. A Peek into the Future • Large, complex, highly distributed systems • Teams of developers • Many people, many roles • Heterogeneous hardware • desktop, laptop, palmtop • “smart dust” and “smart paint” • Mobility • One application runs on many devices • each device has limited resources Guess what: the future is now!

  7. Resource Constraints • This is / will become your computer • This has beenyour computer

  8. PITM in a Nutshell

  9. What Is an Engineer to Do? • Engineer • Do not “hack” • by reusing the best practices of PITL • Component-based system composition • Explicit architectures with powerful connectors • Modeling and analysis before construction • Mechanisms to support distribution and heterogeneity • and adapting them to the needs and constraints imposed by PITM • Shrink • Optimize • Distribute • Automate

  10. Calibrate Display Display An Example of PITM in Action M M M GUI Display M M M M M M M M M M M M M

  11. PITM Challenges • Processor speed, memory size, network bandwidth • PITL taught us not to worry about them • True heterogeneity • Hardware platforms • Operating systems • Programming languages • Interaction paradigms • Modeling, analysis, simulation, and generation • Partial information • Decentralized ownership and control • Inter-device interaction and code mobility • Limited resources • Frequently missing infrastructure • Effectively developing ITM using software architecture concepts • What is the price of insisting on “proper” abstractions? • How can those abstractions be properly realized?

  12. Questions?

More Related