Software Automation with Eclipse Modeling

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    3 Favorites & 1 Group

    Software Automation with Eclipse Modeling - Presentation Transcript

    1. Software Automation with Eclipse Modeling Peter Friese, itemis @peterfriese @xtext (c) 2009 Peter Friese. Distributed under the EDL V1.0 - http://www.eclipse.org/org/documents/edl-v10.php More info: http://www.peterfriese.de / http://www.itemis.com
    2. Some Typical Situations in Software Development
    3. Boring code
    4. Accidental complexity
    5. Wrong level of abstraction
    6. Anatomy of Modern Software Software artifact
    7. Anatomy of Modern Software manually written code Frameworks Libraries
    8. Anatomy of Modern Software manually written code Frameworks schematic code (manually written) Libraries
    9. The Result?
    10. More and more code to write
    11. More and more code to write
    12. More and more code to write
    13. Problems
    14. Problems
    15. Problems Can we solve them with models?
    16. Yes, we can!
    17. Code Generation Helps Model manually written code Generator Frameworks schematic code (generated) Libraries
    18. MDSD Metamodel <<instanceof>> generated manually written Model Model code code Generator Platform
    19. MDSD with UML Metamodel <<instanceof>> generated manually written Model Model code code Generator UML Platform
    20. Demo
    21. @SuppressWarnings("serial") @Entity @Table(name = "CUSTOMER_INFO") public class CustomerInfo implements Serializable { @Id @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "idSeq") @SequenceGenerator(name = "idSeq", sequenceName = "CUST_SEQ", allocationSize = 1) @Column(name = "CUST_ID", nullable = false) private String customerId; public void setCustomerId(String customerId) { this.customerId = customerId; } public String getCustomerId() { return customerId; } @Column(name = "EMAIL", nullable = false, length = 128) private String emailAddress; public String getEmailAddress() { return emailAddress; } public void setEmailAddress(String emailAddress) { String oldValue = emailAddress; this.emailAddress = emailAddress; firePropertyChangedEvent("emailAddress", oldValue, this.emailAddress); }
    22. @SuppressWarnings("serial") @Entity @Table(name = "CUSTOMER_INFO") public class CustomerInfo implements Serializable { @Id @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "idSeq") @SequenceGenerator(name = "idSeq", sequenceName = "CUST_SEQ", allocationSize = 1) @Column(name = "CUST_ID", nullable = false) private String customerId; public void setCustomerId(String customerId) { this.customerId = customerId; } public String getCustomerId() { return customerId; } @Column(name = "EMAIL", nullable = false, length = 128) private String emailAddress; public String getEmailAddress() { return emailAddress; } public void setEmailAddress(String emailAddress) { String oldValue = emailAddress; this.emailAddress = emailAddress; firePropertyChangedEvent("emailAddress", oldValue, this.emailAddress); }
    23. entity CustomerInfo (id=CUST_ID, sequenceName=CUST_SEQ) { String emailAddress (notNull, length = 128) }
    24. entity CustomerInfo (id=CUST_ID, sequenceName=CUST_SEQ) { String emailAddress (notNull, length = 128) } Bean DAO (POJO)
    25. Concentrate on Essentials
    26. Higher Efficiency
    27. Better Maintainability http://www.flickr.com/photos/flyforfun/2638180406/
    28. No More Boring Code
    29. Some Users
    30. Deutsche Börse Systems AG
    31. Deutsche Börse Systems AG
    32. APG Affichage
    33. APG Affichage
    34. Fraunhofer IWES
    35. Fraunhofer IWES
    36. BMW Car IT
    37. BMW Car IT
    38. Twitter: @xtext http://www.xtext.org
    SlideShare Zeitgeist 2009

    + Peter FriesePeter Friese Nominate

    custom

    555 views, 3 favs, 0 embeds more stats

    Slides for my talk at http://www.itemis.de/itemis-a more

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 555
      • 555 on SlideShare
      • 0 from embeds
    • Comments 0
    • Favorites 3
    • Downloads 21
    Most viewed embeds

    more

    All embeds

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories

    Groups / Events