Christian Wagner Re-Modeling of complex software systems STRESS 2006 (18.-24.05.2006) Dortmund Christian Wagner.

Slides:



Advertisements
Similar presentations
1 CIS224 Software Projects: Software Engineering and Research Methods Lecture 11 Brief introduction to the UML Specification (Based on UML Superstructure.
Advertisements

Software Modeling SWE5441 Lecture 3 Eng. Mohammed Timraz
ARCH-01: Introduction to the OpenEdge™ Reference Architecture Don Sorcinelli Applied Technology Group.
Documentation Generators: Internals of Doxygen John Tully.
SERL - Software Engineering Research Labslide1 Frameworks and Hooks by Garry Froehlich Paul Sorenson SERL (Software Engineering Research Lab)
CIM2564 Introduction to Development Frameworks 1 Overview of a Development Framework Topic 1.
mbe/pa/olm 1 Integration of BETA with Eclipse eTX presentation Barcelona 2004 Peter Andersen Mads Brøgger Enevoldsen Ole Lehrmann Madsen.
Interact: RETSINA’s Agent Editor Provides a GUI interface to agent’s task and reduction libraries Allows –quick development of new libraries –easy extensions.
Executable XML Present by 吳昆澤. Outline  Introduction  Simkin  Jelly  o:XML  Conclusion.
Dynamic Software Updating Michael Hicks Jonathan T. Moore Scott Nettles Presented by Arun Joseph.
Dynamic Tainting for Deployed Java Programs Du Li Advisor: Witawas Srisa-an University of Nebraska-Lincoln 1.
Implementation of a Software- based GPS Receiver Anthony J. Corbin Dr. In Soo Ahn Thursday, June 25, 2015.
About the Presentations The presentations cover the objectives found in the opening of each chapter. All chapter objectives are listed in the beginning.
Institute of Computing Jaca: a Reflective Fault Injection Tool based on Patterns Eliane Martins Cecilia Rubira Nelson Leme Institute of Computing State.
Software Issues Derived from Dr. Fawcett’s Slides Phil Pratt-Szeliga Fall 2009.
Copyright © 2006 by The McGraw-Hill Companies, Inc. All rights reserved. McGraw-Hill Technology Education Copyright © 2006 by The McGraw-Hill Companies,
Using Use Case Scenarios and Operational Variables for Generating Test Objectives Javier J. Gutiérrez María José Escalona Manuel Mejías Arturo H. Torres.
Matthew J Mattia CSC  Cumbersome Code  Consistent/Predictable design (GUEPs #5, CD’s #10)  Display “proper” amount of information  Including.
1CMSC 345, Version 4/04 Verification and Validation Reference: Software Engineering, Ian Sommerville, 6th edition, Chapter 19.
Workflows Information Flows Prof. Silvia Olabarriaga Dr. Gabriele Pierantoni.
Cool:gen CIS 764, Fall 2007 Presentation By Mandar Haridas.
Introduction to BIM BIM Curriculum 01.
Introduction 01_intro.ppt
Rainbow Facilitating Restorative Functionality Within Distributed Autonomic Systems Philip Miseldine, Prof. Taleb-Bendiab Liverpool John Moores University.
The Center for Advanced Research In Software Engineering (ARISE) The University of Texas at Austin Reengineering of Large-Scale Polylingual Systems Mark.
Zhonghua Qu and Ovidiu Daescu December 24, 2009 University of Texas at Dallas.
Business Requirements Using Unified Modeling Language Eric H. Castain, SVP Internet Services Group, Architecture Wells Fargo March 2005.
What is Android NDK ● A toolset that lets you embed in you app native source code ● C, C++(recently supported December 2010) and assembly(?) ● It is supported.
Arc Hydrology Data Model An Overview of the Modeling Process Kim Davis and Tim Whiteaker Center for Research in Water Resources University of Texas at.
Embedded Web Technology Robert Brooks Neal Burry Imelda LeVesconte.
Copyright 2004 Compsim LLC The Right Brain Architecture of a Holonic Manufacturing System Application of KEEL ® Technology to Holonic Manufacturing Systems.
Steps in simulation study 1. - Clearly understand problem - Reformulation of the problem 2. - Which questions should be answered? - Is simulation appropriate?
Rutgers University Excellence Campaign 2/20/2004 Java Native Interface Tutorial Xiaolin Li Rutgers.
Java Introduction to JNI Prepared by Humaira Siddiqui.
Yii is “yes it is” from this we can know that surely it would be a highly needed technology for website developers for its high performance. It is suitable.
Vision The ultimate IDE/CASE tool should supports all steps in the software development process. Current tools perform only minimal semantic-level analysis.
© Fraunhofer IESE Domain-specific Modeling as an Enabling Technology for SMEs Christian Schäfer
University of Southern California Center for Systems and Software Engineering Model-Based Software Engineering Supannika Koolmanojwong Spring 2013.
Using a modular construction kit for the realization of an interactive Computer Graphics Course Frank Hanisch Dr. Reinhard Klein Prof. Dr.-Ing. W. Straßer.
April 22, 2002VMASC Board Meeting Issues in Enhancing Simulation Model Reuse C. Michael Overstreet Richard E. Nance Osman Balci.
Selected Topics in Software Engineering - Distributed Software Development.
Large Scale Nuclear Physics Calculations in a Workflow Environment and Data Provenance Capturing Fang Liu and Masha Sosonkina Scalable Computing Lab, USDOE.
FDT Foil no 1 On Methodology from Domain to System Descriptions by Rolv Bræk NTNU Workshop on Philosophy and Applicablitiy of Formal Languages Geneve 15.
Java GUI building approaches Aleksandar Kartelj Faculty of Mathematics, Belgrade 11 th Workshop “Software Engineering Education and.
Express Application Delivery 1 Ralph Chen Innovative Solutions Co. Ltd Confidential Gaming Application Development Solution Innovation is based on ideas.
Source Mastering UML with Rational Rose 2002 Information System Engineering Introduction to UML.
Slide Advanced Programming 2004, based on LY Stefanus's slides Native Methods.
 Computer is an electronic tool that can accept, process, and accumulate data which can produce a result or output.  Computer System is a combination.
FESA FRONT-END SOFTWARE ARCHITECTURE [FESA] Michel Arruat, Leandro Fernandez, Stephen Jackson, Frank Locci, Jean-Luc Nougaret, Maciej Peryt, Anastasiya.
August 2003 At A Glance The IRC is a platform independent, extensible, and adaptive framework that provides robust, interactive, and distributed control.
A user interface framework for Grid-based computational steering and visualization. Jason Wood*, Mark Riding and Ken Brodlie.
MNP1163/MANP1163 (Software Construction).  Minimizing complexity  Anticipating change  Constructing for verification  Reuse  Standards in software.
Source Mastering UML with Rational Rose 2002 Information System Engineering Introduction to UML.
Paul Alexander 2 nd SKADS Workshop October 2007 SKA and SKADS Costing The Future Paul Alexander Andrew Faulkner, Rosie Bolton.
Concepts and Realization of a Diagram Editor Generator Based on Hypergraph Transformation Author: Mark Minas Presenter: Song Gu.
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.
ArgoUML Peterson Lorins Chi-Hwa John Marcos Dawid Trawczynski Leticia Izquierdo EEL5881 Software Engineering I Spring 2002 – Dr. Schiavone.
Nr: 1 FGAN Research Institute for Communication, Information Processing, and Ergonomics KIE Reengineering an Ada95-programmed Command and Control Information.
An Introduction to UML COMS 103 section 4 11 January, 1999.
Review A program is… a set of instructions that tell a computer what to do. Programs can also be called… software. Hardware refers to… the physical components.
© 2009 Artisan Software Tools. All rights reserved. Testing Solutions with UML/SysML Andrew Stuart, Matthew Hause.
DSS Front End Software Review
Chapter 11 Object-Oriented Design
How do we tackle the extended requirements?
Software Design and Development
CSC480 Software Engineering
Object orientation concepts
Simplified Development Toolkit
From Use Cases to Implementation
Presentation transcript:

Christian Wagner Re-Modeling of complex software systems STRESS 2006 ( ) Dortmund Christian Wagner

Structure Structure: Project environment (DNW) Wind Tunnel Software – DeAs Software modeling tool jABC 3 approaches: –Coarse level modeling –Modelling of basic libraries –Workflow modeling Conclusion and future prospects

Christian Wagner Transonic Wind Tunnel Göttingen (DNW-TWG)

Christian Wagner The existing software system - DeAs

Christian Wagner DeAs environment

Christian Wagner Application structure

Christian Wagner DeAs redesign End of Lifecycle of the existing DeAs system –A new software system has to be developed –More flexibility, extensibility and ease of use for wind tunnel operators and customers is desirable –Experiences from the existing system should be taken into account –A model based approach shall be considered Question: Is jABC a tool to support this development? Approach: As a case study, the existing system should be modelled with jABC

Christian Wagner jABC – Java Application Building Center A tool for graphical library based application development Is an evolution of the Application Building Center which is developed since 1993 Developed at the University of Dortmund

Christian Wagner 2 points of view when developing software Application experts –Define single components (SIBs) –Create Service Logic Graphs (SLGs) Programming experts –Coding –Software infrastructure (platform, language, …)

Christian Wagner jABC – Service Logic Graph (SLG)

Christian Wagner Coarse level modeling Application level modeling with Java Application Building Center Rebuild a coarse granular flow from existing code –Inspecting the code –Group important blocks –Tracing the graph should act like the real system Combining original code and graph Problem: the existing system is written in C++ and jABC in Java Solution: Java Native Mechanism

Christian Wagner Coarse level modeling

Christian Wagner Coarse level modeling /* * main for project Ap_an */ JNIEXPORT jstring JNICALL Java_aero_dnw_prototype_deas_apa n_Ap_1an__1C_1Ap_1anImpl (JNIEnv *env, jobject myclass) { Icon base_frame_image; Benutzer hilfBenutzer;... /* * main for project Ap_an */ int main (int argc, char **argv) { Iconbase_frame_image; Benutzer hilfBenutzer;... Original codeJNI-method call

Christian Wagner Modelling of basic libraries A step into the real code Modeling of important parts is not enough, because the granularity is not fine enough to re-model different parts of a system First approach: is to generate Building Blocks for every atomic library function and the to combine this basic parts to applications or components –Using the existing code –Combining existing code and jABC with Java Native Ca. 400 functions, but most of them are not used

Christian Wagner Modelling of basic libraries TWGHDG

Christian Wagner Workflow modeling Combining the first two approaches –The coarse approach not fine enough –The basic library approach turns out to be too fine Rebuild the code in a Control Flow Graph –group all parts in the code which belongs to the same functionality and domain, like GUI- or Input/Output-functions –Transfer control structures from the original code to the constructed flow graph Outputs: –Detailed overview over the traces in the system –Easy the see the appearance of functions (how often, situation) –By-product: documentation of the system

Christian Wagner Workflow modeling

Christian Wagner Workflow modeling

Christian Wagner Conclusion Coarse level modeling –Coarse granular approach –The level is unsuitable for system re-design Modeling of basic libraries –Bottom-up analysis –Overhead through unused methods Workflow modeling –Combining the first approaches –Generate Workflows from existing code Current work: –Automatic workflow generation from code –In order to avoid errors –In order to ensure completeness Future goal: –Use jABC to extend and modernize different parts of the existing system