Evolve What is a Component?

Slides:



Advertisements
Similar presentations
Windows Basics An Introduction to the Windows Operating System.
Advertisements

MS-Word XP Lesson 1.
The GIMP Simple features tutorial By Mary A White.
Java Integrated Development Environments: ECLIPSE Part1 Installation.
A Guide to Oracle9i1 Introduction To Forms Builder Chapter 5.
Scite Scintilla integrated text editor. Click here.
ACM/JETT Workshop - August 4-5, 2005 UML Modeling using MagicDraw UML for Java Programmers.
RIMS II Online Order and Delivery System Tutorial on Downloading and Viewing Multipliers.
Utica Community Schools Technology Department
TIBCO Designer TIBCO BusinessWorks is a scalable, extensible, and easy to use integration platform that allows you to develop, deploy, and run integration.
Computer Literacy BASICS: A Comprehensive Guide to IC 3, 5 th Edition Lesson 3 Windows File Management 1 Morrison / Wells / Ruffolo.
XP New Perspectives on Browser and Basics Tutorial 1 1 Browser and Basics Tutorial 1.
IE 411/511: Visual Programming for Industrial Applications
Java Server Pages A JSP page is a text-based document that contains two types of text: static template data, which can be expressed in any text-based format,
ACM/JETT Workshop - August 4-5, Guidelines For Using BlueJ.
Alice 2.0 Introductory Concepts and Techniques Project 1 Exploring Alice and Object-Oriented Programming.
Quick Reference notes  Part of the Microsoft® Office Fluent user interface, the ribbon is the rectangular region across the top of the document window.
POS 406 Java Technology And Beginning Java Code
Selected Topics in Software Engineering - Distributed Software Development.
Version How to Use Packet Tracer MarinaMD.
Synopsys Custom Designer Tutorial for a chip integration using the University of Utah Standard Cell Libraries In ON Semiconductor 0.5u C5 CMOS Version.
Visual C# 2012 How to Program © by Pearson Education, Inc. All Rights Reserved.
Introduction to KE EMu Unit objectives: Introduction to Windows Use the keyboard and mouse Use the desktop Open, move and resize a.
Introduction to KE EMu Unit objectives: Introduction to Windows Use the keyboard and mouse Use the desktop Open, move and resize a.
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.
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.
File and File Systems Compiled by IITG Team Need to be reorganized and reworded.
Netbeans QuickStart. Creating a project File->New Project –For now you want General->Java Application –Then fill in the project details.
Installing and Using Evolve Evolve is written in Java and runs on any system with Java 1.6 Download Evolve from Unzip.
Pasewark & Pasewark 1 Windows Vista Lesson 1 Windows Vista Basics Microsoft Office 2007: Introductory.
Fundamentals of Windows Mouse n 4 Basic Operations: –Pointing –Clicking –Double Clicking –Dragging.
Microsoft Access 2013 ®® Case Study Creating a Database.
Product Training Program
IBM Rational Rhapsody Advanced Systems Training v7.5
Progress Apama Fundamentals
Excel Tutorial 8 Developing an Excel Application
John Metz and Jeff Potts Michigan’s A. E. R. Annual Conference 2017
Running a Forms Developer Application
Computer Literacy BASICS
Getting Started with Application Software
Object-Orientated Programming
User Profiles and Workspaces
International Computer Driving Licence Syllabus version 5.0
Working in the Forms Developer Environment
IBM Rational Rhapsody Advanced Systems Training v7.5
Data Virtualization Tutorial: XSLT and Streaming Transformations
ETL Validator + ALM = Data Delivery. Faster and Better
Introduction to Java Applets
WORKSHOP 2 TEMPLATES VERSUS SUBSYSTEMS
University of Central Florida COP 3330 Object Oriented Programming
COSC-4840 Software Engineering
Windows Operating Systems (Cont.)
Microsoft Windows 2000 Professional
Creating Database Tables
Windows Internet Explorer 7-Illustrated Essentials
NORMA Lab. 4 Revision: Adding Value Constraints, Set-comparison Constraints Adding Frequency Constraints Adding Ring Constraints Adding Subtyping Adding.
Case Study Creating a Database
Lecturer: Yong Liu Contact me at:
Windows xp PART 1 DR.WAFAA SHRIEF.
SwE 455 Tutorial.
Installing and Using Evolve
NORMA Lab. 5 Duplicating Object Type and Predicate Shapes
New Perspectives on Windows XP
Grauer and Barber Series
Download from Zotero Home Page
Learning the Basics of Microsoft Word 2010 for Microsoft Windows
HIBBs is a program of the Global Health Informatics Partnership Learning the Basics of Microsoft Word 2019 and Microsoft office support TFN
Windows Operating System
V3 Education: Building the HMD
Presentation transcript:

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 requires. In other words, a component is separated from its environment by interfaces. A component instance can then be connected up to other instances which offer compatible interfaces. It really is that simple!

Evolve 1. A Leaf Component: A component which cannot be further decomposed into others. An atomic unit, implemented by a class. 2. Provided interface: A service provided by a component. Mapped onto the implemented interfaces of the class or onto an instance of an anonymous inner class.

Evolve 3. Required interface: A service required by a component. Mapped onto a field of the class, with a setter only. 4. Port : A named “gate” insulating the component from its environment. All provided and required interfaces must be via ports.

Evolve 5. Attribute : A configurable field of the component. 6. Port : A named “gate” insulating the component from its environment. All provided and required interfaces must be via ports.

Evolve A Leaf Component: Example

Evolve A Leaf Component Mapping onto java class/Bean: Example public class SpellChecker implements ISpellCheck { // the attribute private String dictionaryName; public String getDictionaryName() { return dictionaryName; } public void setDictionaryName(String name) { dictionaryName = name; } // the required port private IDocument document; public void setDocument(IDocument doc) { document = doc; } // the provided port for document private ISuggest document_Provided = new ISuggest { // methods for ISuggest implementation... } public ISuggest getDocument_Provided() { return document_Provided; } // methods for ISpellCheck... ...

Evolve A Composite Component? A composite component connects up instances of other components to make a new component. A component created by wiring together instances of other components (parts) using connectors, and selectively exposing ports of internal parts.

Evolve 1. Part? 2. Connector: 3. Constituent: Another name for a component instance. [intance=part] 2. Connector: A wire joining together two ports of component instances. 3. Constituent: A general name for a port, part, connector or attribute.

Evolve 2. SpellChecker provides an ISuggest implementation, and requires an IDocument implementation. 3. Document requires an ISuggest implementation and provides an IDocument one. 1. Note how the interfaces of the spell port of Document are the opposites of the interfaces provided and required by the document port of SpellChecker.

Evolve A WordProcessor composite component: Example As these are complementary/Opposite, we can connect an instance of each of these together, joining them via a connector conn as shown in figure.

Evolve Compositional Hierarchy An OfficeSuite composite, made up of a wordprocessor and spreadsheet instance

Evolve The compositional hierarchy of OfficeSuite

Evolve [Creating, Reusing and Executing Components] The Backbone Component Language Backbone is a component language and a runtime engine The Backbone definition for WordProcessor is as follows. component WordProcessor { ports: checker, doc; parts: s: SpellChecker slots: dictionaryName = "US", d: Document; connectors: conn joins document@s to port@d, a joins check@s to checker, b joins document@d to doc; }

Installing and Using Evolve Evolve is written in Java and runs on any system with Java 1.6 Download Evolve from http://www.instrinsarc.com/evolve/download Unzip the distribution into a directory and you should see the following set of files

Evolve directory

Using Evolve There are several ways to run Evolve If you are using Windows, you can double-click evolve.exe or create a shortcut, drag it to the desktop, and double-click that If you are using Linux or MacOS, then you may be able to double-click the executable evolve.jar file. Evolve from the command line java -jar evolve.jar

Evolve on startup The startup diagram shows a stratum containing the Backbone definitions. Every model builds on this. You may like to change the Swing look and feel used for Evolve:

Setting Up The Environment Evolve environment variables

Setting Up The Environment We first need to add a variable BB, which will be where Evolve writes the Backbone files to Add the variable CARS and point it to the tutorial\CarRental directory of the installation Test Java using Backbone Tab Setting up the BB and other variables

Navigating Around the Tutorial Model FileOpenExisting model Navigate to the tutorial directory of the installation, and select the car-rental.evolve file.

Evolve models are XML files. Files with a Evolve models are XML files. Files with a .evolve extension are uncompressed. To create a compressed model choose the .evolvez extension when saving.

Navigating Around the Tutorial Model Navigating into Strata To visit into a stratum, double-click it, or alternatively middle-click it To go backwards or forwards in the diagram history ViewOpen previous diagram or ViewOpen next diagram

Navigating Around the Tutorial Model Tabs: Evolve uses a tabbed graphical interface ViewOpen current in new tab The Tool Palette: the tools used to define components The Size of a Diagram: To enlarge the diagram simply drag a figure to the edge of the diagram Keys: FilePreferencesEdit Environment Preferences Pasting into a Wordprocessor: control C and pasted control V Full Screen Mode: FileToggle full screen OR F11

Subjects and Views and the Subject Browser Evolve is a powerful and versatile CASE tool, and adopts common CASE tool conventions A subject is the underlying data of a component or other model element. Deleting a subject, however, will delete all its views. A view is the graphical presentation of this shown on a diagram. Deleting a view will not delete the subject.

Subjects and Views and the Subject Browser We can delete views by selecting them and invoking EditDelete views only. To remove a subject and all its views, however, we need to press delete or invoke EditDelete

The Subject Browser Diagrams allow us to see graphical views of subjects. To look at the subjects directly, however, we instead use the subject browser Select an item on the screen and invoke ObjectBrowse element

The Subject Browser The top left tree shows the strata of the model The bottom left tree shows the elements in the currently selected strata The right hand pane shows the details of the selected element

Running A Backbone Program Load the car-rental.evolve model Middle-click on the base stratum to navigate into it First, “tag” the current stratum to indicate that we want to run it (BackboneTag current stratum) Then choose the (BackboneRun Backbone) menu option

The Backbone runner window If this all works, your installation is correct