SwE 455 Tutorial. What is Evolve? Evolve is a tool for defining components and connecting them together to form new components. Also provides a runtime.

Slides:



Advertisements
Similar presentations
GenArch: Automatic Product Derivation in Multi-agent Systems Product Line Elder Cirilo.
Advertisements

Component Oriented Programming 1 Chapter 2 Theory of Components.
© 2008 by Borland Software Corp; made available under the EPL v1.0 | 17 March 2008 Introduction to the Graphical Modeling Framework Artem Tikhomirov, Borland.
1 Copyright 1998 by Dragos Manolescu and Joseph W. Yoder Building Frameworks With Patterns “An Active Object-Model For A Dynamic Web-Based Application”
Spring, Hibernate and Web Services 13 th September 2014.
Requirements Analysis 5. 1 CASE b505.ppt © Copyright De Montfort University 2000 All Rights Reserved INFO2005 Requirements Analysis CASE Computer.
A Guide to Oracle9i1 Introduction To Forms Builder Chapter 5.
Interact: RETSINA’s Agent Editor Provides a GUI interface to agent’s task and reduction libraries Allows –quick development of new libraries –easy extensions.
1 Programming Languages b Each type of CPU has its own specific machine language b But, writing programs in machine languages is cumbersome (too detailed)
Executable XML Present by 吳昆澤. Outline  Introduction  Simkin  Jelly  o:XML  Conclusion.
UML CASE Tool. ABSTRACT Domain analysis enables identifying families of applications and capturing their terminology in order to assist and guide system.
Java Programming, 3e Concepts and Techniques Chapter 1 An Introduction to Java and Program Design.
Software Engineering Module 1 -Components Teaching unit 3 – Advanced development Ernesto Damiani Free University of Bozen - Bolzano Lesson 2 – Components.
Page 1 Building Reliable Component-based Systems Chapter 4 - Component Models and Technology Chapter 4 Component Models and Technology.
About the Presentations The presentations cover the objectives found in the opening of each chapter. All chapter objectives are listed in the beginning.
About the Presentations The presentations cover the objectives found in the opening of each chapter. All chapter objectives are listed in the beginning.
Copyright © 2006 by The McGraw-Hill Companies, Inc. All rights reserved. McGraw-Hill Technology Education Copyright © 2006 by The McGraw-Hill Companies,
Mining Metamodels From Instance Models: The MARS System Faizan Javed Department of Computer & Information Sciences, University of Alabama at Birmingham.
ACM/JETT Workshop - August 4-5, 2005 UML Modeling using MagicDraw UML for Java Programmers.
Visualization By: Simon Luangsisombath. Canonical Visualization  Architectural modeling notations are ways to organize information  Canonical notation.
A Family of Languages for Architecture Description OOPSLA 2008 Markus Voelter
SCHOOL OF COMPUTING QUEEN’S UNIVERSITY 08/03/2013 Andrew Forward, Omar Badreddin, Timothy C. Lethbridge, and Julian Solano School of Electrical Engineering.
- Chaitanya Krishna Pappala Enterprise Architect- a tool for Business process modelling.
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
UNIT-V The MVC architecture and Struts Framework.
Programming Languages: Telling the Computers What to Do Chapter 16.
Smith’s Aerospace © P. Bailey & K. Vander Linden, 2005 Architecture: Component and Deployment Diagrams Patrick Bailey Keith Vander Linden Calvin College.
WorkPlace Pro Utilities.
Eclipse – making OOP Easy
1 CSE 2102 CSE 2102 CSE 2102: Introduction to Software Engineering Ch9: Software Engineering Tools and Environments.
Quality Attributes of Web Software Applications – Jeff Offutt By Julia Erdman SE 510 October 8, 2003.
MDA and QVT  Tom Gullion, Director of Product Management, Together Products.
Introduction to UML By: Prof. Aiman Hanna Department of Computer Science, Concordia University, Montreal, Canada.
Spray A Quick way of Creating Graphiti A (very) short Introduction Jos Warmer
Python – Part 1 Python Programming Language 1. What is Python? High-level language Interpreted – easy to test and use interactively Object-oriented Open-source.
Introduction and Features of Java. What is java? Developed by Sun Microsystems (James Gosling) A general-purpose object-oriented language Based on C/C++
1 UML Basic Training. UML Basic training2 Agenda  Definitions: requirements, design  Basics of Unified Modeling Language 1.4  SysML.
Component Technology. Challenges Facing the Software Industry Today’s applications are large & complex – time consuming to develop, difficult and costly.
Selected Topics in Software Engineering - Distributed Software Development.
1 Extend is a simulation tool to create models quickly, with all the blocks you need and without even having to type an equation. You can use a series.
SWE 316: Software Design and Architecture Objectives Lecture # 18 Introduction to Components SWE 316: Software Design and Architecture To learn:  benefits.
INRIA - LaBRICharles Consel Jan-06 1 Domain-Specific Software Engineering Charles Consel Phoenix Research Group LaBRI /INRIA-Futurs January 2006.
© ABB University - 1 Revision C E x t e n d e d A u t o m a t i o n S y s t e m x A Chapter 4 Engineering Workplace Course T314.
1 Chapter Nine Using GUI Objects and the Visual Studio IDE.
Dr. Darius Silingas | No Magic, Inc. Domain-Specific Profiles for Your UML Tool Building DSL Environments with MagicDraw UML.
Logical view –show classes and objects Process view –models the executables Implementation view –Files, configuration and versions Deployment view –Physical.
Programming Fundamentals Lecture No. 2. Course Objectives Objectives of this course are three fold 1. To appreciate the need for a programming language.
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
Protocol Derivation Assistant Matthias Anlauff Kestrel Institute
Topic 4 - Database Design Unit 1 – Database Analysis and Design Advanced Higher Information Systems St Kentigern’s Academy.
Java Beans THETOPPERSWAY.COM. Contents What is a Java Bean? Advantages Properties Bean Developers Kit (BDK) What makes Bean possible? Support for Java.
Evolve What is a Component? A component is a unit of software that can be instantiated, and uses interfaces to describe which services it provides and.
Machine Machine language is PL in which program instructions are written in strings of 0s and 1s.The computer circuitry is wired in a manner that it can.
Chapter – 8 Software Tools.
1 SWE Introduction to Software Engineering Lecture 14 – System Modeling.
A Flexible MDATool Set Anneke Kleppe Klasse Objecten.
Execution ways of program References: www. en.wikipedia.org/wiki/Integrated_development_environment  You can execute or run a simple java program with.
Ganga/Dirac Data Management meeting October 2003 Gennady Kuznetsov Production Manager Tools and Ganga (New Architecture)
1 Model Driven Health Tools Design and Implementation of CDA Templates Dave Carlson Contractor to CHIO
Multi-disciplinary Approach for Industrial Phases in Space Projects Evolution of classic SE into MBSE Harald EisenmannAstrium Satellites Joachim Fuchs.
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 14 Slide 1 Object-Oriented Design.
DELLSOFT Technologies Pvt. Ltd.
Introduction to .NET Framework Ch2 – Deitel’s Book
Types of Programming Languages
SwE 455 Tutorial.
Evolve What is a Component?
JavaServer Faces: The Fundamentals
Analysis models and design models
MDT UML2Tools 0.8 Mini-deck
Software Architecture & Design
Presentation transcript:

SwE 455 Tutorial

What is Evolve? Evolve is a tool for defining components and connecting them together to form new components. Also provides a runtime engine to execute these configurations. Use it to create applications out of plain classes, using an interface- centric approach. Evolve is a convenient and powerful way to connect together classes to create a program. Also features innovative reuse and evolution facilities, allowing you to quickly customize an application for new requirements, without destroying the old version.

Key Features Components are defined using standard UML2 diagrams. JavaBeans can be treated as full components. Java code can be generated for new JavaBeans, and existing JavaBeans can be quickly imported. Extensive facilities are provided for the reuse and evolution of components, giving the benefits of dependency injection, aspects and much more. State machines are fully supported, along with their reuse and evolution. A single model can hold and execute many variants of a system. Full error checking guarantees all components will connect correctly at runtime. Full support for renaming and restructuring parts of the model.

Sections of a model can be exported and imported for collaborative development. Component programs can be executed. Two runtime options are available: 1. The Backbone runtime engine can be used. This is <350kb, including a full parser. It is fully open-source and has very little performance overhead. 2. A simple Java program can be created directly from the model, removing any runtime overhead. In this mode, a library of 15kb is used, consisting mainly of interfaces.

The diagram below shows the internal makeup of Evolve.

1. A component model with full connectors. At the heart of Evolve is a hierarchical component model with full connectors Connectors act like wires between components. Making it simple and intuitive to express detailed structures that are difficult or impossible in other approaches such as dependency injection.

2. Resemblance and evolution Provide unique levels of support for component reuse. Resemblance is a form of component inheritance. Evolution allow the structure of an existing system to be remodeled without destroying the original definition. These facilities can be used to create variants of a system, or to switch in test components.

3. The Backbone interpreter Executes the programs created in Evolve. Backbone is a simple textual domain-specific language Allows plain-vanilla JavaBeans to act as full components Wired up according to the component model. The interpreter reads in the text files, and uses the instructions to instantiate and connect up the beans. JavaBeans have a representation in Backbone and also in Java code. Composite components formed by wiring together JavaBean instances Backbone is fully open source.

4 A. UML2 wiring editor A graphical editor for connecting up and evolving components. Industry standard UML2 component diagrams and state charts are used.

4B. JavaBean code generator Help you define and generate setter / getter code for JavaBeans. Makes it easy to import and wire together existing beans.