1 / 24

XL Programming

XL Programming. Dr. Ir. I.S.W.B. Prasetya wishnu@cs.uu.nl A. Azurat S.Kom. ade@cs.uu.nl. Centre of Software Technology, Utrecht University. Research and school on generic programming, compiler construction techniques, program analysis, program transformation. Centre of Software Technology.

Télécharger la présentation

XL Programming

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. XL Programming Dr. Ir. I.S.W.B. Prasetya wishnu@cs.uu.nl A. Azurat S.Kom. ade@cs.uu.nl

  2. Centre of Software Technology, Utrecht University Research and school on generic programming, compiler construction techniques, program analysis, program transformation.

  3. Centre of Software Technology • 25 people, 3 profs, incl. 10 phd students • Headed by Prof. Dr. S.D. Swierstra • International oriented Master ProgrammeSee website: www.cs.uu.nlPhd opportunity is project based or by extern fund. • What do we do: next-generation software tools!

  4. Centre of Software Technology • Current research: • compiler generator • generic programming • program transformation tool • scalable verification • Network: • Collaboration with Ducth companies, including SERC • Member of Dutch research school IPA, the Institute for Programming research and Algorithmics. • Bolivia, Indonesia

  5. Visit us ... In Utrecht, centrum of the Netherlands .... just 17 hrs away from Jakarta.

  6. Software Lifetime • Production • Maintenance • Repair • Improvement • Extension • Migration

  7. Software Cost Not including migration....

  8. Indonesia • Total IT expenditure ... not known.Estimation: 5% of total budget of medium + large companies, goverment agencies included.In the order of billion USD anually. • Big portion of this goes to maintenance.

  9. Migration • Moving software to new hardware platform, or new software architecture.Driven by new HW/SW technology  will happen regularly. • Legacy software from 70's: large, undocumented, spagethi likeOften millions lines of code. Very expensive and risky to migrate  often requiring a big and long term project.

  10. Why Software so Hard to Maintain ? Existing programming dogma: Develop techniques to efficiently build complicated systems. New dogma: develop techniques to efficiently build and maintain complicated systems.

  11. traditional DEVELOPMENT TEST eXtreme eXtreme Programming • New programming approach, by Kent Beck (Daimler-Chrysler), 1990 • Very successful: stresses customer satisfaction.Stress is: team work, simplicity, feedback, courage • See: www.extremeprogramming.org Program for today ! Test now ! Refactor !

  12. Because we can't keep the programmers! XL Programming • We propose XL Programming • eXtra Long-lived • eXtreme + Life • Even more important role of testing:Long-lived application = program + executable specification

  13. Life/God Programming Concepts: Creature System consisting of critical functionalities DNA Program to build a system Birth Compiling the DNA Evolution Incremental development of DNA Natural selection Test (executable!) Gears Support functionalities

  14. XL Programming Philosophy Separate critical core from the rest of the system Non-critical functionalities are treated like use-and-throw products.

  15. XL Programming Philosophy Program the critical core as abstract as possible Auto-generate as much code as possible. This keep maintenance and migration effort low. Keep the crititical core minimum and simple Keep in mind, adding features and increasing cross-dependencies will directly impact maintenance and migration cost.

  16. XL Programming Philosophy Build for this season! Build incrementally. You're more able to adapt to changing requirement. Keep in mind that large projects may take several years.

  17. XL Programming Philosophy Write (executable) specifications You need them not only as documentation, but to auto-test programs. Neglecting this will multiply migration cost.

  18. Where to find XLP tools ? • No-where... • Research idea for UI and UU • We do have the technologies to develop XLP tools

  19. Needed Technologies • Languages • You need suitable languages to describe and specify the core • Compiler • You need compilers to generate the application from the core to generate test programsCompiler theoryCompiler Generator technology (AG)Functional Programming • Executable specification: test and verification technologies

  20. National Research Strategy • Transfer technologies to Indonesia • Market dumping • offer XLP tools at non-profit price • Where can UI position itself ? • Leading research and development of XLP tools • Training

  21. How much research is needed ? • A lot ... but it is within reach :Make use RUTI, RUT, RUK schemes. • What is important in any research: endurance.Patience. Maintain course, stay focus. • The economy of research: it's not hobby! Eventually, all the investment must end up in competitive products!!

  22. Some practical exposure to the technologies • Will give you a good start to learn them yourself What can you expect from this workshop? introduction to technologies needed for XLP

  23. Workshop Setup Fundamentals GP SC AG FP application template xMECH

  24. I like it a lot, what next ? • Join the research team in UI • Apply to Master Programme of Software Technology at Utrecht University

More Related