Advanced Topics in Software Engineering (02265) The project(s) Ekkart Kindler

Similar documents
WoPeD - An Educational Tool for Workflow Nets

TECH. Requirements. Why are requirements important? The Requirements Process REQUIREMENTS ELICITATION AND ANALYSIS. Requirements vs.


Junos Space for Android: Manage Your Network on the Go

Object Technology Toolsets for LabVIEW


Ontario Ombudsman. Goals

Student Quick Start Guide

Instructions Android Smartphone & Tablet Page 1

Kirsten Sinclair SyntheSys Systems Engineers

BPMN by example. Bizagi Suite. Copyright 2014 Bizagi

Honda RSA. Application Manual

Masters of Science in Software & Information Systems

Siemens AG LOGO! App V1.0.0 LOGO! Edition 03/2013. Manual. Answers for industry.

BPMN Business Process Modeling Notation

RFID Based 3D Indoor Navigation System Integrated with Smart Phones

Controllable Space Phaser. User Manual

CARRIOTS TECHNICAL PRESENTATION

Multi-Factor Authentication Job Aide

OneLogin Integration User Guide

estatistik.core: COLLECTING RAW DATA FROM ERP SYSTEMS

EPNML an XML format for Petri nets

Live Maps. for System Center Operations Manager 2007 R2 v Installation Guide

BIS 3106: Business Process Management. Lecture Two: Modelling the Control-flow Perspective

CS 528 Mobile and Ubiquitous Computing Lecture 2: Android Introduction and Setup. Emmanuel Agu

Network & Internet Installation & Information Guide Fall 2004 Edition. Campus Ethernet For PCs using Windows 2000 & XP

Challenges in Android Application Development: A Case Study

AUTOMOTIVE FIELDBUS TECHNOLOGY: DEVELOPMENT TOOLS AND ELECTRONIC EQUIPMENT FOR LABORATORY PRACTICES

Lecture 9: Requirements Modelling

Contents. Introduction and System Engineering 1. Introduction 2. Software Process and Methodology 16. System Engineering 53

Sage 50 Accounts. What is Sage 50 Accounts?

Client Training Manual

Psychology 1F03 Course Outline Spring 2014

CHAPTER 1 1 INTRODUCTION

TABLE OF CONTENTS ABSTRACT ACKNOWLEDGEMENT LIST OF FIGURES LIST OF TABLES

Installation Guide Avi Networks Cloud Application Delivery Platform Integration with Cisco Application Policy Infrastructure

Danske Bank - Launch of the first mobile bank app in

Quick DDNS Quick Start Guide

GOAL-BASED INTELLIGENT AGENTS

INNOVOLT MANAGEMENT CLOUD USER GUIDE

Functional Validation of SAP Implementation

Efficient Management of Tests and Defects in Variant-Rich Systems with pure::variants and IBM Rational ClearQuest

Business Process Modeling

National Competency Standards. For. Mobile Application Developer

Software Analysis Visualization

Home Automation System with Universally Used Mobile Application Platform

What is Sage 50 Accounts?

Software development life cycle. Software Engineering - II ITNP92 - Object Oriented Software Design. Requirements. Requirements. Dr Andrea Bracciali

CSC 342 Semester I: H ( G)

11 Tips to make the requirements definition process more effective and results more usable

Abila MIP Mobile. System Requirements

IMPLEMENTATION OF A TIME TABLE GENERATOR USING VISUAL BASIC.NET

Intoduction to SysML

Features List Contents

Establishing two-factor authentication with Barracuda NG Firewall and HOTPin authentication server from Celestix Networks

NAS 243 Using AiData on Your Mobile Devices

Ontology and automatic code generation on modeling and simulation

EasyC. Programming Tips

Living Requirements Document: Sniffit

Introduction to Mobile Access Gateway Installation

Two Factor Authentication (TFA; 2FA) is a security process in which two methods of authentication are used to verify who you are.

D-Moticam BTW8 Microscope Tablet / Camera Use and Care Manual

Design of Visual Repository, Constraint and Process Modeling Tool based on Eclipse Plug-ins

EPEAT CONFORMITY ASSESSMENT PROTOCOLS : 4.4 Product longevity/life cycle extension

Recommended Session /07/ /08/ /09/2013. Recommended Session 1. 08/07/ /08/ /09/ /07/2013 Recommended Session 1.

HP Application Lifecycle Management (ALM)

Structure of Presentation. Stages in Teaching Formal Methods. Motivation (1) Motivation (2) The Scope of Formal Methods (1)

Scheduling Home Health Care with Separating Benders Cuts in Decision Diagrams

COCOVILA Compiler-Compiler for Visual Languages

Introduction to Directory Services

Joint Interpretation Library

Release Notes for Patch Release #2614

It is highly recommended to view in full screen mode

Program Understanding in Software Engineering

Part I. Introduction

Introduction to Simulink & Stateflow. Coorous Mohtadi

SCHOLARONE ABSTRACTS SPEAKER MANAGEMENT

Example #1: Controller for Frequency Modulated Spectroscopy

Design for Success: Designing for the Internet of Things with TiWiConnect

Questions? Assignment. Techniques for Gathering Requirements. Gathering and Analysing Requirements

Software Certification and Software Certificate Management Systems

Student Attendance Through Mobile Devices

Guidelines to setup mobile devices to a UOITnet account Google Apps for Education. Information Technology Services

SmartCart Design Description

Test Coverage Criteria for Autonomous Mobile Systems based on Coloured Petri Nets

Industrial IT Ó Melody Composer

McAfee One Time Password

Data Analysis 1. SET08104 Database Systems. Napier University

Cisco Discovery 3: Introducing Routing and Switching in the Enterprise hours teaching time

Transcription:

Advanced Topics in Software Engineering (02265) The project(s)

Projects Part of this course is a project (ca. 2 ECTS points) The evaluation of this course is based on the result of this project The project is done in groups of 2-4 students There are different projects you can chose from (and you can suggest own ones, which need to get special approval, though) The different projects must use some of the concepts and technologies presented in this course The following presentation, gives an overview of the projects (much more details will follow in the project and tutorial slots over the next weeks). 2

Overview of proposals 1. An editor for a network of hierarchical module definitions Context: Often, software models are defined in a hierarchical way, defining modules with some ports, which can be used to define modules. Task: A graphical editor for views navigating in such a hierarchy (and to interactively inline the substructure of modules in order to see the overall structure of the system (to the depth the user wants to). Mechanisms for definining such modules individually (simple not necessarily grahical). Scope: Focus on technology study for such an editor ( Oticon masters project could follow). 3

Overview of proposals 2. A component model for defining formal models Context: Formal models (here Petri nets) can be used for formally verifying that a system fulfills some requirements. Modelling a large system as a Petri net is tedious. One solution for this problem is to define typical components of some application domain as a Petri net, and then to build the system in this domain by combining these components. Task: Implement a tool for define some basic Petri net components and an editor for combining these components. From the definition of these components, and model that connects such components, the tool should automatically generate the Petri net of the then do some simple form of analyis or verification of the system (overall Petri net). Scope: Tool can reuse the epnk for defining components; focus on editor for combining the defined components, and for generating the overall Petri net and do some simple analysis. 4

Overview of proposals 3. A GUI modelling language for ECNO Applications Context: The Event Coordination Notation (ECNO) is a notation for modelling a system including the structure as well as the behaviour of the system. From such ECNO models, the software can be generated fully automatically. The automatically generated GUI is not very nice and very flexible. Task: Desing a language to define the GUI for an ECNO application, and a GUI engine that implements the GUI as defined (interprted or generated). The language must as a minimum support the features of an existing example (Workers example from ECNO report), which was manually implemented. Scope: The workers example must be completely covered; and flexible enough for modelling GUIs for other applications. GUI implementation does not need to look fancy (proof of concept) is enough. 5

Overview of proposals 4. Flexible data collection with smart phones Context: Scientific projects in many areas need to collect personal data for their empirical studies (health, wellbeing, dietary needs), which they would collect via apps for smartphones. Implementing such apps over and over again is a waste of time (in particular, when support of different platforms is needed). Task: Design simple language for defining surveys in a general and flexible way. Then, an app should be implemented, which equipped with such a definition of a survey conducts the survey. The definition of the survey should allow defining the questions asked and the type of the data to be entered; it should be possible that the questions asked depend on the answer to earlier questions. Also it should be possible to define the frequency of how often certain parts of the survey Scope: No web backend for now; data stored locally. Focus is clear design of such a language and a proof of concept implementation (supporting all language features); Android only. 6

Overview of proposals In order to understand the presentation of these projects, this presentation gives an overview of these projects (more details to follow over the next weeks) epnk ECNO 7

Meta-levels (reminder) ClassDiagram PetriNet * Class 1 start 1 end * Association * Object Node 1 source 1 target Arc :Class :Association :Association :Class Transition Place * Token :Petrinet :Transition source :Arc target :Place target source :Arc :Arc :Token :Place source target :Arc source target :Transition 8

epnk 9

Type Definition: PT-Net Annotation Place initialmarking PTMarking Arc inscription PTInscription text NonNegativeInteger text PositiveInteger 10

Type Definition: HLPNG (outline) 11

Extended Petri nets 12

Overview of proposals 2. A component model for defining formal models Context: Formal models (here Petri nets) can be used for formally verifying that a system fulfills some requirements. Modelling a large system as a Petri net is tedious. One solution for this problem is to define typical components of some application domain as a Petri net, and then to build the system in this domain by combining these components. Task: Implement a tool for define some basic Petri net components and an editor for combining these components. From the definition of these components, and model that connects such components, the tool should automatically generate the Petri net of the then do some simple form of analyis or verification of the system (overall Petri net). Scope: Tool can reuse the epnk for defining components; focus on editor for combining the defined components, and for generating the overall Petri net and do some simple analysis. 13

Model built from components c 4 c 3 c 5 c 6 c 2 c 7 c 1 Component Tools: Integrating Petri Nets with other Formal Methods 14

The Petri net behind Component Tools: Integrating Petri Nets with other Formal Methods 15

Component definitions x: semicircle x.track n.track x: line x.track n.track Component Tools: Integrating Petri Nets with other Formal Methods 16

Component definitions x: signal x.track n.track x: switch n1.track x.track n2.track Component Tools: Integrating Petri Nets with other Formal Methods 17

Model built from components c 4 c 3 c 5 c 6 c 2 c 7 c 1 Component Tools: Integrating Petri Nets with other Formal Methods 18

ECNO Event Coordination NOtation: Modelling the local behaviour of system components (objects) Describe how this local behaviour is coordinated with each other interactions On top of OO models or OO implementations 19

Example: Class diagram 20

Example: Initial Config 21

Example: Coordination 22

Elements: Live Cycle Car Job Worker 23

Example: GUI 24

ECNO related project 3. A GUI modelling language for ECNO Applications Context: The Event Coordination Notation (ECNO) is a notation for modelling a system including the structure as well as the behaviour of the system. From such ECNO models, the software can be generated fully automatically. The automatically generated GUI is not very nice and very flexible. Task: Desing a language to define the GUI for an ECNO application, and a GUI engine that implements the GUI as defined (interprted or generated). The language must as a minimum support the features of an existing example (Workers example from ECNO report), which was manually implemented. Scope: The workers example must be completely covered; and flexible enough for modelling GUIs for other applications. GUI implementation does not need to look fancy (proof of concept) is enough. 25

Overview of proposals 1. An editor for a network of hierarchical module definitions Context: Often, software models are defined in a hierarchical way, defining modules with some ports, which can be used to define modules. Task: A graphical editor for views navigating in such a hierarchy (and to interactively inline the substructure of modules in order to see the overall structure of the system (to the depth the user wants to). Mechanisms for definining such modules individually (simple not necessarily grahical). Scope: Focus on technology study for such an editor ( Oticon masters project could follow). 26

Modul Definition: xdm xdm_1 xdm_3 xdm_3 27

Modul Definition: xdm xdm_3 xdm_3 28

Modul Definition: xdm 29

Overview of proposals 4. Flexible data collection with smart phones Context: Scientific projects in many areas need to collect personal data for their empirical studies (health, wellbeing, dietary needs), which they would collect via apps for smartphones. Implementing such apps over and over again is a waste of time (in particular, when support of different platforms is needed). Task: Design simple language for defining surveys in a general and flexible way. Then, an app should be implemented, which equipped with such a definition of a survey conducts the survey. The definition of the survey should allow defining the questions asked and the type of the data to be entered; it should be possible that the questions asked depend on the answer to earlier questions. Also it should be possible to define the frequency of how often certain parts of the survey Scope: No web backend for now; data stored locally. Focus is clear design of such a language and a proof of concept implementation (supporting all language features); Android only. 30

Rough schedule for projects: Week 7 (Feb. 11): Forming of groups (via Campus Net) Week 8 (Feb. 18): Every group decides on their project (via Campus Net) Week 9 (Feb. 25): Every group writes 1-2 pages of a project description (via Campus Net) 31

Rough schedule for projects: Week 11 (March 11).: Every group submits a project definition (ca. 5 pages) (via Campus Net) [ Week 17 (April 22): Prototype (optional)??? (via Campus Net) ] Week 19 (May 6): Every group presents their project (Maybe we need some additional slot for that) Week 23, June 2 (last day of examination period): Submission (via Campus Net) of project result: Code/PlugIns and example; documentation of the design, implementation, and the use of the product/example (report) 32