Agile modeling for INF5150

Similar documents
UML modeling for INF5150

This tutorial is intended to familiarize you with the Geomatica Toolbar and describe the basics of viewing data using Geomatica Focus.

TECDIS and TELchart ECS Weather Overlay Guide

Last updated: Copyright

Please click the link below to view the YouTube video offering guidance to purchasers:

Object Modeling Approach! Object Modeling Approach!

ECEN 651: Microprogrammed Control of Digital Systems Department of Electrical and Computer Engineering Texas A&M University

A Brief Introduction To. GRTensor. On MAPLE Platform. A write-up for the presentation delivered on the same topic as a part of the course PHYS 601

Bloomsburg University Weather Viewer Quick Start Guide. Software Version 1.2 Date 4/7/2014

The Two Time Pad Encryption System

The CSC Interface to Sky in Google Earth

Lab 1 Uniform Motion - Graphing and Analyzing Motion

BASIC TECHNOLOGY Pre K starts and shuts down computer, monitor, and printer E E D D P P P P P P P P P P

Introduction to Astronomy Laboratory Exercise #1. Intro to the Sky

Web-based Tools for Complex Spatial Data. Bill Daigle Montana Fish, Wildlife & Parks

Lab Activity H4 It s Snow Big Deal

How to Create a Substance Answer Set

Biology 559R: Introduction to Phylogenetic Comparative Methods Topics for this week:

Robustness the art of preparing for the unexpected

An object-oriented design process. Weather system description. Layered architecture. Process stages. System context and models of use

From BASIS DD to Barista Application in Five Easy Steps

Fundamentals of Computational Science

From BASIS DD to Barista Application in Five Easy Steps

Geodatabase Best Practices. Dave Crawford Erik Hoel

Preparing a PDB File

Lecture 05: High-Level Design with SysML. An Introduction to SysML. Where are we? What is a model? The Unified Modeling Language (UML)

SuperCELL Data Programmer and ACTiSys IR Programmer User s Guide

PHY 111L Activity 2 Introduction to Kinematics

Computational Chemistry Lab Module: Conformational Analysis of Alkanes

v Prerequisite Tutorials GSSHA WMS Basics Watershed Delineation using DEMs and 2D Grid Generation Time minutes

ArcGIS Earth for Enterprises DARRON PUSTAM ARCGIS EARTH CHRIS ANDREWS 3D

Molecular Modeling and Conformational Analysis with PC Spartan

Administering your Enterprise Geodatabase using Python. Jill Penney

ST-Links. SpatialKit. Version 3.0.x. For ArcMap. ArcMap Extension for Directly Connecting to Spatial Databases. ST-Links Corporation.

Information System Desig

Using Microsoft Excel

GIS Functions and Integration. Tyler Pauley Associate Consultant

Robustness the art of preparing for the unexpected

Tutorial. Getting started. Sample to Insight. March 31, 2016

WeatherWatcher ACP. Astronomers Control Panel (V4 or >) Ambient Virtual Weather Station (Pro or Internet editions) ASCOM platform v4.

Mass Asset Additions. Overview. Effective mm/dd/yy Page 1 of 47 Rev 1. Copyright Oracle, All rights reserved.

MassHunter METLIN Metabolite PCD/PCDL Quick Start Guide

Exercises for Windows

Integrated Electricity Demand and Price Forecasting

Information System Design IT60105

Lightcloud Application

Lecture 2. Introduction to ESRI s ArcGIS Desktop and ArcMap

1 Descriptions of Function

ON SITE SYSTEMS Chemical Safety Assistant

MATLAB BASICS. Instructor: Prof. Shahrouk Ahmadi. TA: Kartik Bulusu

The Geo Web: Enabling GIS on the Internet IT4GIS Keith T. Weber, GISP GIS Director ISU GIS Training and Research Center.

Write a report (6-7 pages, double space) on some examples of Internet Applications. You can choose only ONE of the following application areas:

Account Setup. STEP 1: Create Enhanced View Account

Assignment 4: Object creation

THE UTP SUITE YOUR ALL-IN-ONE SOLUTION FOR BUILDING MODERN TEST SYSTEM SOFTWARE

McIDAS-V Tutorial Displaying Point Observations from ADDE Datasets updated July 2016 (software version 1.6)

Lab 1: Dynamic Simulation Using Simulink and Matlab

Introduction to ArcGIS Server - Creating and Using GIS Services. Mark Ho Instructor Washington, DC

Python. Tutorial. Jan Pöschko. March 22, Graz University of Technology

Personal Field Data Collection by UM-FieldGIS (Integration of Google Map API to Mobile GIS)

Perseverance. Experimentation. Knowledge.

ArcGIS Pro: Essential Workflows STUDENT EDITION

Flight Utilities Metar Reader version 3.1 by Umberto Degli Esposti

Cosmic Ray Detector Software

Overview. Everywhere. Over everything.

One platform for desktop, web and mobile

Chem 253. Tutorial for Materials Studio

Description of the ED library Basic Atoms

General Chemistry Lab Molecular Modeling

Experiment 14 It s Snow Big Deal

Foundations of Computation

Technical Procedure for Glass Refractive Index Measurement System 3 (GRIM 3)

User's Guide. DISTO online. Leica Geosystems

Newton s Second Law. Sample

Virtual Beach Making Nowcast Predictions

4D information management system for road maintenance using GIS

VELA. Getting started with the VELA Versatile Laboratory Aid. Paul Vernon

Arboretum Explorer: Using GIS to map the Arnold Arboretum

Chem 1 Kinetics. Objectives. Concepts

MOHO PRO 12 Step-by-step demonstration script

ArcGIS Enterprise: What s New. Philip Heede Shannon Kalisky Melanie Summers Sam Williamson

Assignment #0 Using Stellarium

ArcGIS Deployment Pattern. Azlina Mahad

TIMEZERO PROFESIONAL V3.2

CityGML XFM Application Template Documentation. Bentley Map V8i (SELECTseries 2)

TitriSoft 2.5. Content

C:\Dokumente und Einstellungen \All Users\Anwendungsdaten \Mathematica. C:\Dokumente und Einstellungen \albert.retey\anwendungsdaten \Mathematica

Building Inflation Tables and CER Libraries

Skin Damage Visualizer TiVi60 User Manual

ISIS/Draw "Quick Start"

7th FIG Regional Conference Spatial Data Serving People: Land Governance and the Environment - Building the Capacity

Geodatabases and ArcCatalog

Assignment 1: Molecular Mechanics (PART 1 25 points)

Senior astrophysics Lab 2: Evolution of a 1 M star

Crime Analyst Extension. Christine Charles

Web GIS Deployment for Administrators. Vanessa Ramirez Solution Engineer, Natural Resources, Esri

Introduction to ArcGIS Server Development

Introduction to Spark

Ocean Optics Red Tide UV-VIS Spectrometer (Order Code: SPRT-UV-VIS)

Preparing Spatial Data

Transcription:

Agile modeling for INF5150 Version 071012 11-Oct-07 INF5150 Unassailable IT-systems 1

Tools for INF5150 Autumn 2007 We are going to keep to the safe and already proven technology this time... 11-Oct-07 INF5150 Unassailable IT-systems 2

Tools for executable modeling in INF5150 third party sw: simple interfaces PATS Oracle hybrid systems Commercial big, imperfect executable modeling UML compiler UML2 plugin SeDi open source our own UML 2 runtime system JavaFrame 3.0 Windows+ Linux 11-Oct-07 INF5150 Unassailable IT-systems 3

Executing a model FakePats JFTrace Compiled application JavaFrame runtime system Oracle SMSMediators Java 1.4 runtime system ojbc14.jar PATS no.uio.ifi.pats.client.jar fakepats.jar 11-Oct-07 INF5150 Unassailable IT-systems 4

IBM Rational Modeler 11-Oct-07 INF5150 Unassailable IT-systems 5

RSM at Ifi 2007 (Versjon 6.0.1.1) Linux rsm& Windows XP download from protected area reachable from the course homepage executing this make an image continue the installation from there Execute software update!! This does take time! Do it overnight! Set up extension location where plugins og features specially for you will be placed This is how one can add special functionality without being an administrator! 11-Oct-07 INF5150 Unassailable IT-systems 6

Extension Location Creating an extension location works under both the 3.0.x and 3.1.x releases of eclipse, under both linux and windows (and I assume all others). The steps to accomplish this under linux are as follows: As root, I install eclipse to /opt/eclipse As myuser, I create the directories ~/eclipse-config ~/eclipse-config/eclipse ~/eclipse-config/eclipse/features ~/eclipse-config/eclipse/plugins ~/eclipse-config/workspace I edit ~/eclipse-config/eclipse/.eclipseextension to contain: name=my Eclipse Configuration id=my.eclipse.configuration version=1.0.0 As myuser I install plugins/feature to ~/eclipse-config/eclipse (manually or through eclipse update mechanism after step 6 completed) As myuser, I start eclipse like "/opt/eclipse/eclipse -data /home/conway/eclipse-config/workspace -vmargs -Xmx512M" In Help->Software Updates->Manage Configuration... I "Add an Extension Location" to ~/eclipse-config/eclipse. The setting for this ends up being stored in ~/.eclipse 11-Oct-07 INF5150 Unassailable IT-systems 7

The extension site administrative files extension site binary files source files workspace 11-Oct-07 INF5150 Unassailable IT-systems 8

Update Site This will appear Register a new site Site URL for IFI UML Total continue here 11-Oct-07 INF5150 Unassailable IT-systems 9

Important distinctions of a UML model Diagram Model Diagram element Model element details 11-Oct-07 INF5150 Unassailable IT-systems 10

IBM Rational Software Modeler Provides a flexible development environment for creating and editing UML models. You can use the Model Explorer view to edit the source code and model structure of the semantic model. You can use the diagram editor to edit the visualized model. When you edit models, you should understand the differences between model elements and diagram elements. For example, when you right-click an element in the diagram editor, there are two delete options. If you click Delete from Diagram, the element is deleted from the diagram only, because the diagram element is only a visualization of a model element. Conversely, if you click Delete from Model, the element is deleted from both the model and the diagram. 11-Oct-07 INF5150 Unassailable IT-systems 11

Create a new project From File menu choose : 1. New 2. Project 3. Modeling 4. UML Project 11-Oct-07 INF5150 Unassailable IT-systems 12

Creating a new class diagram 1. Right-click your model 2. Add Diagram 3. Class Diagram 11-Oct-07 INF5150 Unassailable IT-systems 13

Adding a class to your model (1) Classes can be added from the Model explorer field: 1. Right click your new class model 2. Add UML 3. Class 11-Oct-07 INF5150 Unassailable IT-systems 14

Adding a class to your model (2) From the Palette on the right side of your screen: 1. Left-click the class icon 2. Left-click or click and drag in the editor 3. Enter the name of the class 11-Oct-07 INF5150 Unassailable IT-systems 15

Adding a class to your model (3) Or simply hold the mouse still in the editor: 1. A menu will appear 2. Choose what element you want to create 3. Enter element name 11-Oct-07 INF5150 Unassailable IT-systems 16

Group formation for Oblig 2 While Oblig 1 must be individually solved, Oblig 2 shall be achieved in a group of 3-5 persons Divide the group in PhD students and those with a Master already Those with INF2120 Those with special needs The rest Everybody signs up their name on the blackboard in the appropriate column The lecturer will select the groups and add those that are not present 11-Oct-07 INF5150 Unassailable IT-systems 17

ICU0 your very first I see you system surveillence at your fingertips, first we only observe yourself 11-Oct-07 INF5150 Unassailable IT-systems 18

Agile modeling agile = having a quick resourceful and adaptable character executable models! very stepwise approach each step will have its specification and executable model each step should be tested We shall use one example throughout the course with many steps intended to be mirrored by the project exercise model Every week a working program! 11-Oct-07 INF5150 Unassailable IT-systems 19

Manifesto for Agile Software Development We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value: Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan That is, while there is value in the items on the right, we value the items on the left more. 11-Oct-07 INF5150 Unassailable IT-systems 20

Dialectic Software Development Software Development is a process of learning once you have totally understood the system you are building, it is done Learning is best achieved through conflict, not harmony discussions reveal problematic points silence hides critical errors By applying different perspectives to the system to be designed inconsistencies may appear and they must be harmonized Inconsistencies are not always errors! difference of opinion difference of understanding misunderstanding each other a result of partial knowledge Reliable systems are those that have already met challenges 11-Oct-07 INF5150 Unassailable IT-systems 21

Buzzzzz 1: Agility Join your project group this is its first assignment! Give 3 reasons for why agile modeling/programming is a good approach Give 3 possible problems for an agile approach Give each pro and each con a short name 11-Oct-07 INF5150 Unassailable IT-systems 22

UML Use Cases very very simple subject : our system note: an informal text use case: a service actor: the outsiders 11-Oct-07 INF5150 Unassailable IT-systems 23

Use cases in a separate package 11-Oct-07 INF5150 Unassailable IT-systems 24

UML Sequence Diagrams: a more precise way Lifeline Message Interaction State inv. Sequence diagram Signature 11-Oct-07 INF5150 Unassailable IT-systems 25

SeDi the IFI UML Total Sequence Diagram edit 11-Oct-07 INF5150 Unassailable IT-systems 26

Packages, Collaboration, Composite Structure Package Composite structure Collaboration Part Port 11-Oct-07 INF5150 Unassailable IT-systems 27

Model-time Consistency! Run validation! 11-Oct-07 INF5150 Unassailable IT-systems 28

Structure hierarchy Part type Part type 11-Oct-07 INF5150 Unassailable IT-systems 29

A State Machine defining the whole system local variables State machine Initial Decision State Trigger Guard Transition Effect 11-Oct-07 INF5150 Unassailable IT-systems 30

Runtime Consistency! 11-Oct-07 INF5150 Unassailable IT-systems 31

Buzzzzz 2: Refinement Assume that the semantics of the state machine are the traces that it potentially may produce (given all reasonable input from a Mobile) as positive traces and all other traces as negative. Is the state machine ICUprocess a refinement of the interaction KMLfile? Is the opposite refinement also true? (that KMLfile is a refinement of ICUprocess) 11-Oct-07 INF5150 Unassailable IT-systems 32

Transition Effect Activity Diagram Initial Action where the name is java code Final Control flow 11-Oct-07 INF5150 Unassailable IT-systems 33

UML compilation and execution Make target java project Set up java libraries Make transformation config. Make run configuration Apply transformation config by rightclicking on desired package (not the whole model) Apply run configuration Enjoy the running system 11-Oct-07 INF5150 Unassailable IT-systems 34

Execute the trace tool (JFTrace) and ICU appl. to 2034 (Telenor!!!) 11-Oct-07 INF5150 Unassailable IT-systems 35

Hotpos: finding out where you are to 2034 (Telenor!!!) 11-Oct-07 INF5150 Unassailable IT-systems 36

KML: using GoogleEarth to place mobiles 11-Oct-07 INF5150 Unassailable IT-systems 37

Testing ICU0 by using the UML Testing Profile with foils also from Prof. Dr. Ina Schieferdecker 11-Oct-07 INF5150 Unassailable IT-systems 38

The Problem Software Increases in complexity, concurrency, and dynamics Quality is key Functionality Performance Scalability Reliability Usability Efficiency Maintainability... Testing is Means to obtain objective quality metrics about systems in their target environment Central means to relate requirements and specification to the real system 11-Oct-07 INF5150 Unassailable IT-systems 39

Testing Today Is Important Means to obtain approval Time critical But often Rarely practiced Unsystematic Performed by hand Error-prone Considered being destructive Uncool If you are a bad programmer you might be a tester Conjecture: There is a lack of appropriate test methods and techniques 11-Oct-07 INF5150 Unassailable IT-systems 40

Testing is A technical process Performed by experimenting with a system In a controlled environment following a specified procedure With the intent of observing one or more characteristics of the system By demonstrating the deviation of the system s actual status from the required status/specification. 11-Oct-07 INF5150 Unassailable IT-systems 41

Goals of the UML Testing Profile Definition of a testing profile to capture all information that would be needed by different test processes To allow black-box testing (i.e. at UML interfaces) of computational models in UML A testing profile based upon UML 2.0 That enables the test definition and test generation based on structural (static) and behavioral (dynamic) aspects of UML models, and That is capable of inter-operation with existing test technologies for blackbox testing Define Test purposes for computational UML models, which should be related to relevant system interfaces Test components, test configurations and test system interfaces Test cases in an implementation independent manner 11-Oct-07 INF5150 Unassailable IT-systems 42

Test Concepts: Black-Box Testing Test Case Stimulus Port Response Assignment of a Test Verdict System Under Test (SUT) 11-Oct-07 INF5150 Unassailable IT-systems 43

ICU0 test context test package imports def of system Test case Test case returns Test component System Under Test Test configuration 11-Oct-07 INF5150 Unassailable IT-systems 44

Test context and system context are similar 11-Oct-07 INF5150 Unassailable IT-systems 45

Test behavior and context behavior are similar Verdict Verdict 11-Oct-07 INF5150 Unassailable IT-systems 46

Buzzzz 3: Why both context behavior and tests? Why do we need tests when we have context behavior We do not always only want pass verdicts we could also use the neg fragments in Sequence Diagrams We may want more tests than context behaviors Tests should be explicit Identify the SUT and the Test components this distinction is not done in the context behavior sequence diagrams Clearly specify the verdicts context behaviors usually specify potential positive behaviors only 11-Oct-07 INF5150 Unassailable IT-systems 47

How to execute the tests Generated test components we could specify the behavior of the test components then compile and run the total test management system and have the tool verify the test cases by comparison Manual execution on real environment you operate the mobile phone, and observe the resulting SMSes you observe also the GoogleEarth results Disadvantage: slow procedure since you need to physically move Advantage: it is the real thing Manual execution on simulated environment FakePATS made by Frank Davidsen Advantage: quicker turn-around, easier manipulation, cheaper 11-Oct-07 INF5150 Unassailable IT-systems 48

FakePATS instead of low level PATS-software Replace this with FakePATS No recompilation necessary! 11-Oct-07 INF5150 Unassailable IT-systems 49

fakepats.jar is also a stand-alone program! Bus stop Bus 37 route Actor Statid ID Start fakepats, then application Send SMS from actor 11-Oct-07 INF5150 Unassailable IT-systems 50

The verdict of the fake mobile 11-Oct-07 INF5150 Unassailable IT-systems 51

Verdict of GoogleEarth 11-Oct-07 INF5150 Unassailable IT-systems 52