CEN 5011 Advanced Software Engineering - PowerPoint PPT Presentation

About This Presentation

CEN 5011 Advanced Software Engineering


CEN 5011 Advanced Software Engineering Projects Instructor: Masoud Sadjadi http://www.cs.fiu.edu/~sadjadi/Teaching/ sadjadi_at_cs.fiu.edu Project Objective and Grading ... – PowerPoint PPT presentation

Number of Views:94
Avg rating:3.0/5.0
Slides: 29
Provided by: sadj1
Learn more at: http://users.cis.fiu.edu


Transcript and Presenter's Notes

Title: CEN 5011 Advanced Software Engineering

CEN 5011 Advanced Software Engineering
  • Instructor Masoud Sadjadi
  • http//www.cs.fiu.edu/sadjadi/Teaching/
  • sadjadi_at_cs.fiu.edu

Project Objective and Grading
  • Objective  
  • The primary objective of this project is to give
    you practice in applying the phases of the
    software development process to a "real" software
  • Grading Scheme  
  • The grade for this project is based on
    deliverables and presentations, representing 50
    of the final grade.  
  • Students in the same project team may NOT receive
    the same grades.
  • Each student will be evaluated according to
    his/her performance in the group and his/her

Project and Team Selection
  • Selection of Project  
  • I will introduce a number of real projects that
    you can choose from.
  • You can also propose the project of your choice
    and the required skills to the members to join.
  • Before starting work on the project, we need to
    decide on the scope of your project.
  • Project selection should be finalized by the end
    of today.
  • Project Teams  
  • Each team shall consist of 5 to 10 students.  
  • After learning about the projects, you will get a
    chance to select up to 3 group projects that you
    are interested in and of course you are qualified
  • If you select more than one project, I will make
    the decision for you, which group you should join

Expertise of Members
  • You need to evaluate yourself and provide me with
    a grade of your expertise on each topic using the
    below scale
  • Excellent 5
  • Very Good 4
  • Good 3
  • Fair 2
  • Weak 1
  • None 0

Term Projects
  • A Patient-Centric Healthcare Solution
  • Voice-Enabled Web-Based Graphical User Interface
  • Forms
  • Multimedia Communication
  • Integration of TRAP/J and Grid Superscalar
  • Transparent Grid Enablement using TRAP/J
  • Portal for a Scientific Application
  • Grid Enablement of WRF
  • Porting MotoWaveZ to Cluster/Grid

A Patient-Centric Healthcare Solution (1)
  • Problem
  • Patients with complex congenital heart problems
    often require multiple staged procedures over
    their lifetime. Early detection, complete repair,
    continuous feedback, and continuity of care are
    necessary to improve their quality-of-life and
    chance for survival. Consequently, these patients
    require extensive monitoring, continuous testing,
    long hospital stays and care from various
    multidisciplinary specialists often
    geographically dislocated from one another.
  • Current healthcare processes results in massive
    amounts of data in various multimedia formats
    with a high degree of separation and
    incompatibility. Improving medical information
    exchange, properly informing and educating
    patients, and reducing preventative medical
    errors remain an elusive goal.

A Patient-Centric Healthcare Solution (2)
  • Scenario
  • To better explain these challenges, a typical
    patient with complex congenital heart disease at
    Miami Childrens Hospital (MCH) is outlined.
  • Scenario 1 Pre-Surgery
  • Precondition A five year old boy named John
    Smith has been referred to Dr. Burke, Chief
    Cardiovascular Surgeon, at Miami Childrens
    Hospital (MCH) by Dr. Y from Baptist Childrens
    Hospital for follow-up after collapsing on the
    school playground.
  • Description
  • Child is transported to Miami Childrens Hospital
    by ambulance and stabilized on oxygen. Meanwhile,
    Dr. Burke meets with the parents to gather what
    ever information he can on the patient. The
    parents explain that he has had two prior cardiac
    procedures at Childrens Hospital of Philadelphia
    (CHOP) but they do not have a copy of his medical

A Patient-Centric Healthcare Solution (3)
  • Description (cont.)
  • Due to the lack of Johns prior medical
    information Dr. Burke is forced to redo all of
    the diagnostic test and contact the Chief of
    Pediatric Cardiac Surgery at CHOP to obtain a
    copy of Johns medical record. During this time
    Dr. Burke makes a request to the attending nurse
    practitioner to schedule a complete physical exam
    with the in house cardiologist and order an
    echocardiogram and diagnostic catheterization for
  • After reviewing the test results, Dr. Burke and
    the team realize that John has Hypoplastic Left
    Heart Syndrome and he has already undergone the
    first two stages of the procedure including the
    Norwood Stage 1 and the Bi-Directional Glenn. Dr.
    Burke immediately schedules John for the third
    and final stage of the procedure known as a
    Fontan Procedure.
  • Dr. Burke meets with Johns parents and describes
    his heart condition to them as well as the
    procedure he plans to perform. Dr. Burke
    provides Johns parents with some related
    literature so that they can become familiar with
    Johns condition and the surgical procedure he
    plans to perform.
  • Postcondition John goes to surgery.

A Patient-Centric Healthcare Solution (4)
  • Scenario 2 Post-Surgery
  • Precondition Johns surgery is difficult but
    successful and he is placed in the Cardiac
    Intensive Care Unit for recovery.
  • Description
  • Dr. Burke meets with Johns parents to inform
    them how the surgery went and to answer any
    concerns they may have regarding the procedure.
    Dr. Burke shares some pictures of Johns heart
    with the parents to describe what he found in the
  • On the following day Dr. Burke and a nurse
    practitioner meet with Johns parents to inform
    them of the post-surgery care that John will have
    for the next several weeks in the hospital. This
    care involves intensive monitoring and the
    administering of medication at specific time
    periods during the day. Dr. Burke informs the
    parents that John can go home once he is
    discharged by the attending physician in the
    Intensive Care Unit.
  • One week after the procedure a FedEx box is
    received by the secretaries in the cardiac
    offices containing a paper copy of Johns medical
    record from CHOP. The medical record failed to
    include any previous X-Rays, Echocardiogram
    videos or diagnostic catheterization images. A
    thorough examination of the paper record reveals
    that John was meant to have a follow-up
    appointment with his cardiologist over a year
  • During the two weeks following the surgery John
    has recovered and is well enough to go home.
  • Postcondition John is discharged from MCH.

A Patient-Centric Healthcare Solution (5)
Going Home after Heart Surgery
  • Do and Dont!
  • Feeding infants
  • Feeding Children
  • Cardiac diet
  • Care of incision
  • Care of chest tube sites
  • Activities after surgery
  • Change in behavior
  • Precautions
  • And many more

A Patient-Centric Healthcare Solution (6)
Redmond Burke and Jeffrey White
  • When Burke, 42, became chief of cardiac surgery
    at Miami Children's Hospital in 1995, he went
    looking for an engineer who could help him
    redesign his surgical tools to allow him to
    operate on babies' hearts by making only small
    holes in the chest.
  • "The adult instruments simply didn't fit," he
  • But at the same time, he had his eye on another
    problem keeping track of patient information
    before and after he operated.
  • "I vowed that we would keep tabs on every baby we
  • Medical diagnosis requires that the right
    information reach the right doctors at the right
  • The results of a single disconnect are grave An
    estimated 50,000 deaths per year result from
    medical errors.

Source Medical Innovation Saving Lives With
PDAs, Matthew Herper, 04.23.02, 1200 PM ET
A Patient-Centric Healthcare Solution (7)
  • Electronic Medical Record (EMR)
  • A computer-based patient medical record.
  • EMR facilitates
  • access by clinical staff
  • Claims by insurance companies
  • Automatic allergy checks
  • Prescriptions
  • Scheduling
  • etc.
  • Personal Health Record (PHR)
  • A health record that is created and maintained by
    the individual.
  • It provides a complete and accurate summary of
    the health and medical history of an individual.
  • Allergies and Medications
  • Illnesses and hospitalizations
  • Surgeries and other procedures
  • Vaccinations and Laboratory results
  • Family history

Doctors Office
A Patient-Centric Healthcare Solution (8)
  • Challenges
  • Patients do not take the responsibility of
    maintaining their PHR.
  • Doctors are slow in adapting new technologies
    that are difficult to use.
  • Hospitals are not willing to pay for technologies
    that their benefits are hard to vision and far
    out reaching.
  • Insurance companies do not pay for fancy
  • Solutions to patients and insurance companies
    being overcharged are difficult to achieve.
  • Goals
  • Basically, overcoming the above mentioned
  • Providing a solution that
  • is easy to use for doctors and care givers.
  • is easy to use and manage by patients and their
  • reduces the healthcare expenses
  • improves the healthcare quality.

A Patient-Centric Healthcare Solution (9)
  • Communication Virtual Machine

A Patient-Centric Healthcare Solution (10)
  • Graphical User Interface

A Patient-Centric Healthcare Solution (11)
  • Voice-Enabled GUI

A Patient-Centric Healthcare Solution (12)
  • Data in a Form

A Patient-Centric Healthcare Solution (13)
  • Sub Projects
  • Voice-Enabled Web-Based Graphical User Interface
  • Java Script, AJAX, Voice XML, XML, Java, HTML,
  • Forms
  • Java Script, AJAX, XML, Java, HTML
  • Multimedia Communication
  • Java, Networking, TCP/IP, SIP, Multimedia,
    Distributed Computing, DBMS.


A Patient-Centric Healthcare Solution (14)
  • Form Sub-project
  • As technologies advance, human interaction is
    greatly transfigured. This phenomenon can be
    observed in the medical industry. Communication
    between doctor and patient began by physically
    meeting at the hospital/clinic and then evolved
    to allow the use of a land line, cell phone, and
  • Today a medical professional can send virtually
    any kind of media file to a patient and/or other
    medical professional. But, there are risks
    involved. Take the following scenario for
    instance. A doctor wants to send another doctor a
    patients medical record. This may include a
    heart scan, x-ray, as well as the latest checkup
    information. The doctor would have to send these
    files individually, not to mention, that he may
    have to worry about giving out information that
    the other doctor should not see. Say, the doctor
    was just asking a general question about his
    findings, he may not want the other doctor to
    know any personal information about the patient.
    What can the doctor do to remedy the situation?
    The answer is a form.
  • A form allows the doctor who is sending a
    collection of media information, to package it
    all up into one complex data type. Also, the
    doctor is able to restrict what information
    certain user groups can see and what actions are
    allowed on certain files.

  • Multimedia Subproject
  • Current healthcare processes results in massive
    amounts of data in various multimedia formats
    with a high degree of separation and
    incompatibility. Improving medical information
    exchange is difficult but offers improvement in
    the quality of healthcare.
  • There may be basically two types of communication
    modes synchronous and asynchronous. In
    synchronous mode, for example, patients can
    communicate with the doctors simultaneously using
    audio/video and data transfer. In asynchronous
    mode, for instance, a doctor may generate and put
    some exercise schedule for an out-patient to
    follow for the next week, and the doctor can get
    feedback from the patient. For this, we need a
    common data repository, where all the
    participants have access in pre-determined level.
  • To manage these, we need a communication agent,
    which is secure, easy to use, supporting
    synchronous and asynchronous communication as
    mentioned above to transfer audio/video/data and
    special-formatted medical data records.

  • Problem Statement
  • To develop a tool that will modify an
    applications functionality so it is ready to
    receive adaptive or new behavior at runtime. 
    This tool will also offer the means to remotely
    provide new behavior to the specified
  • Attributes shall be used to indicate which
    functionality will become adaptive.  The primary
    user will be a .NET 2.0 application developer. 
    As such, the tool to be developed shall be CLR
    compliant in order to support all the .NET
    languages that support attributes. Also, this
    tool shall be provided as a Visual Studios add-in
    so it is executed every time an application using
    this tool is built.
  • At this time, it can be assumed that
    functionality will only be provided in the form
    of methods. Thus, only methods shall be made

  • Problem Statement (cont.)
  • As part of remotely providing new functionality,
    an HTTP server shall be used. At this time, this
    tool will only add adaptive behavior to
    executable assemblies. Thus, the HTTP Server can
    be started at the entry point of the application.
    The HTTP server will host the web interface for
    the composer. At runtime, the user will interact
    with this web interface to get the status of the
    application, as well as loading and adapting new
  • This tool shall be developed to replicate the
    current level of functionality of the TRAP.NET
    Generator. New ideas are welcome but not
    required since they are being researched by a
    different team.
  • Expertise
  • .NET Framework, C, Visual Studio, Client/Server,
    .NET Remoting, .NET Attributes, .NET Reflection,
    MSIL, and CLR.

Integration of TRAP/J and Grid Superscalar (1)
  • Problem Statement
  • Grid computing is getting more and more attention
    since more and more applications require an
    incredibly huge amount of computer power.
    However, writing applications for a computational
    Grid turns out to be a very hard job to achieve.
  • Despite the fact that there are many well
    skilled programmers that may be willing and able
    to write applications with complex programming
    models, scientists usually look for simple
    programming methodologies that may allow them to
    develop their applications with both flexibility
    and ease of use. Furthermore, once having these
    applications grid-enabled, we would like to have
    them ready for any change we might need at
    runtime when being executed in the Grid, since
    different actions could be necessary to be taken
    at a different moment at one or more specific
    node(s). Therefore, adaption becomes a crucial
  • To sum up, our problem is basically the lack of
    having a programming model that could give us
    ease of development for grid applications and at
    the same time that could provide us with some
    sort of adaptability.

Integration of TRAP/J and Grid Superscalar (2)
  • To solve this problem we count with two tools
    mentioned below
  • TRAP/J is a software tool that enables new
    adaptable behavior to be added to existing Java
    applications transparently (that is, without
    modifying the application source code and without
    extending the JVM).
  • GRID superscalar is a Grid programming
    environment that allows to simply program
    applications that will be efficiently run on a
    computational Grid, converting a sequential code
    into a parallel one.
  • Our objective now, is to integrate these two
    tools so that we can have an aplication that is
    adapt ready and able to run on a Grid enviroment.
    TRAP/J for instance could be used to not only
    convert the sequential code into a parallel one
    but also to leave it ready to keep track of the
    status of the program as it is being executed in
    each host of the Grid. In this way, we could add
    new functionality to the code executed in each
    host at runtime if needed.
  • Expertise
  • Java, Java Reflection, Grid Computing, Grid
    Superscalar, TRAP/J.

Transparent Grid Enablement using TRAP/J
  • Problem Statement
  • In todays computing environment, development of
    software is becoming more complex and demanding
    of computer resources like memory and processing
    power. A grid provides higher throughput
    computing by taking advantage of many networked
    computers that model a virtual computer
    architecture that is able to distribute process
    execution across a parallel infrastructure.
    Certainly many scientific applications which
    perform intensive calculations and memory
    consumption could benefit from such an
  • Unfortunately, adapting an application to run on
    a grid involves tangling the business logic of an
    application with code specific to a grid. Our
    project, titled Transparent Grid Enablement,
    provides a solution that allows for the
    separation of two main concerns the business
    logic of an application and grid enablement code.
    In addition, it will allow us to deploy existing
    sequential applications on a grid environment
    transparently (preserving the original code). Our
    solution is to develop a tool called TRAP/J
    (Transparent Reflective Aspect Programming in
    Java) to show that sequential applications can be
    transparently adapted to be deployed on a grid
    environment. At this stage TRAP/J is capable of
    providing transparent generic adaptation. This
    project focuses on two main goals 1) Finish
    implementing and improving the performance of
    TRAP/J 2) Customize TRAP/J so that it can be
    used to adapt a sequential Java application to be
    run on FIUs LA Grid.
  • Expertise
  • Java, Java Reflection, Grid Computing, GT4.

Portal for a Scientific Application
  • Problem Statement
  • Last semester for our Advanced Topics in
    Software Engineering class, Ariel and I,
    developed a project that took 500 records of
    biological data, and using OGSA, the globus grid,
    a program written by Dr. Giri and two programs
    written by Ariel, we were able to have five
    different grid computers process simultaneously
    one hundred records each creating in fact a
    parallel processing environment in the grid.
    These processes were run manually. The purpose of
    this semesters project is to continue with last
    semesters project and create a high-level portal
    for it, make the processing totally automatic,
    and create full, detailed and complete
  • The data to be used is the complete 5,570 protein
    sequences created from over 6.5 million DNA
    nucleotides of a bacteria known as Pseudomonas
    Aeuriginosa (PA01). It is our intention to
    present this work for publication.
  • Expertise
  • Grid Computing, Java, Perl, Posgres Database,
    Bioinformatics, Graphics.

Grid Enablement of WRF
  • Problem Statement
  • The impact of the hurricanes in Florida are so
    devastating throughout different levels of the
    society that there is a pressing need to provide
    a range of users with accurate, timely
    information to enable effective planning for and
    response to potential hurricane landfalls. With
    this objective, this project will work on the
    Grid enablement of Hurricane applications based
    on open source WRF (Weather Research and
    Forecasting) model code and Visualization tools.
  • These applications like many other computational
    problems have extensive resource requirements
    that require a computational grid. Even if a
    working sequential application exits, it is
    difficult to build, debug, deploy, and maintain
    its equivalent Grid enabled application. To
    meet the project objectives, we will also
    investigate techniques and tools to simplify the
    process of grid enablement.
  • Expertise
  • Linux, Grid Computing, GT4, Fortran, C, MPI,

Porting MotoWaveZ to Cluster/GT4
  • Problem Statement
  • The MotoWaveZ computational engine is a
    standalone Win32 executable.
  • As an input, it reads couple of files and outputs
    a single but large file containing a table of
    integer and float data.
  • During the execution, this application creates
    (file) caches of some intermediate data which may
    be used later to speed up subsequent
  • The computations are highly parallelizable by
    nature and the currently implemented
    multithreading utilizes win32 threads which
    execute almost independently, so no complex
    synchronization efforts are required.
  • Expertise
  • Win32, multithreading, MPI, GT4, Linux, Cluster
    Computing, Grid.
Write a Comment
User Comments (0)
About PowerShow.com