SoftwarePractice.org: Home | Courseware | Wiki | Archive

Talk:Team 2: Gurgle Earth

From SoftwarePractice.org

The Demonstration

IP Addresses

Jensyn - 138.25.42.224
Deon (?) - 138.25.42.225
Marie - 138.25.42.223
Anthony - 138.25.42.226

Task Outline

  • Deon - narration of demonstration
  • Anthony - Database administration, external sensor simulation
  • Marie -
  • Jensyn -

Database Notes

  • The root user password needs to be changed to "root"

Deployment

  • Computer 1: Database
  • Computer 2: Application Server
  • Computer 3: Client UI
  • Computer 4: Web UI
  • Computer 5: External Sensor Sim


Deployment Bash Script:
From the bin directory (after ant compile):
#!/bin/sh
java -classpath ".;../src/mysql-connector-java-5.0.5-bin.jar" GurglePlanetServer
java -classpath ".;../src/mysql-connector-java-5.0.5-bin.jar" LoginWindow

There is a problem however - the main window cannot read the image file - I dont know what to do! --Deon 08:22, 3 June 2007 (UTC)

Development Issues

Have 2 Copies of the same file in Subversion

I'm not sure how subversion works completely, if it allows files to be shared between directories, but at the moment, the webserver has to share the ini file and the Config class wrapper with the other project. Is there any cleaner way to fix this? --Jensyn 10:28, 28 May 2007 (UTC) Why not put the config file in the root directory for the project, and when you reference the file use "../config.txt" or whatever it's called --AnthonyJoseph 02:25, 29 May 2007 (UTC)

Hmm that would work, except what about shared source files? I don't think subversion supports this, does it?--Jensyn 08:24, 29 May 2007 (UTC)

Ummm... why do you need shared source files (what is shared source files - is this like open source?)? Wouldn't you just reposition the source file in the SVN repository - (team02/GurglePlanet/src/TestConfig.ini) and moving it to the directory (team02/TestConfig.ini) and referencing it relatively... why do we need to do anything else? Anyways it's an issue that we could (and probably should) bring up tomorrow. I mean the OS should allow simultaneous read access during runtime (if memory serves).. --AnthonyJoseph 08:37, 29 May 2007 (UTC)

But if you do that, it's not part of the same package...so when you build it, it won't be automatically built.--Jensyn 10:16, 29 May 2007 (UTC)

Retroactive Data

Don't we need to "make" an alarm (ie store it in the table in the database) when data is changed by admin, after finding out it is faulty?--Jensyn 15:04, 27 May 2007 (UTC)

Login Passwords

  • What are the characters which aren't allowed in passwords? At the moment, I'm assuming in the UI server code that a space isn't going to be in the password, because that's my separator character for the string. Obviously I didn't think this through when I originally wrote it, because I think this is possible? Not sure though. Any ideas?
  • Do we need to pass on the login details to each page of the webserver as parameters, because someone could just copy a URL and then paste it and it will work, right now anyway.

--Jensyn 11:23, 26 May 2007 (UTC)

Database access module

The database access module (comprising the MySQL JDBC driver plus my wrapper functions) are on the SVN. I have included a test harness java file for verification against the MySQL database shipped with XAMPP (using the "cdcol" database). Two issues which I spent hours trying to resolve with no luck were:

  • performing project operations (ie SELECT col1, col2 FROM ... instead of SELECT * FROM....) cannot be done - MySQL Drivers cannot cope with this (bizarrely)
  • There is no feedback given when an exception is thrown by the driver - a ubiquitous exception is thrown and I cannot extract any useful information from this - I cannot tell the difference between a database being down or an incorrect login. I can only return a "succeed/failed" flag to users...

Please do not forget to import the file "mysql-connector-java-5.0.5-bin.jar" into your build path, or else compilation will fail (at the very least)

Please see the test harnesses for proven ways of using the modules (I tested the functions against these harnesses), and contact me for more information. --AnthonyJoseph 15:01, 19 May 2007 (UTC)

Very sorry - I just discovered that from today's adventures, I had configured my JRE incorrectly - I was using EasyEclipse's default JRE (which obviously did not have the required .class files, but mounting the correct JDK makes all the exceptions flow!!!). I will implement these changes ASAP... just need to start work on my EEF assignment :)

Many apologies for the mistake - and please make sure that the JRE is correctly configured in eclipse! --AnthonyJoseph 11:06, 21 May 2007 (UTC)

Alerts

Where are alerts to be stored? I'm thinking in the database, we have another tabble, which has the columns time, alert type (to distinguish between admin alerts and regular alerts for faulty data) and maybe some data as text which is associated with it. This is so that when people load their client consoles, they're able to see the latest alerts, as well as for the web server. Anthony, could we possibly get this implemented in the database? Because it needs to be stored in some central location anyway, either as a file, or in the database, and the database seems like a better idea to me. --Jensyn 08:08, 19 May 2007 (UTC)

Although the database is an ideal place, some issues surrounding this

  • what defines a "recent" alert - is this based on time or whether a user has seen it before
  • would alerts be deleted after some time? and if so by who and when?
  • what interface is required - would it be a generic "select" operation or is anything special required?
  • is test data required to simulate this?
  • which database is this a part of? It really shouldn't go in the historicalDB or the RawDB's... but I'm reluctant to add a new DB... any suggestions?

--AnthonyJoseph 15:01, 19 May 2007 (UTC)

Well I think the alerts to be displayed in the client consoles are really up to the UI's to decide. Otherwise, they need to be logged and stored, and file access isn't really idea. I'm thinking it will be a generic select operation of some sort, maybe with specific start date specified by the UI or soemthing.

Well the prototype should demonstrate some of the use cases we've written, which would include the dodgy data. so yeah, why not?

What's wrong with making a new DB just for this?

Besides, historical data is stored forever anyway, so what's wrong with alerts being stored forever as well?

I guess we could make some policy to flush out the alerts data what every few months or somehting.

--Jensyn 09:11, 20 May 2007 (UTC)

Data Synthesiser

Anthony and I (Marie) were discussing the connection between the Data Synthesiser and the Raw Data Stores and came up with the following: ISSUES

  • Since the Data Synthesizer (DS) is periodically taking data from the Raw Data Stores, how does it know which data has already been synthesized?
    • SOLUTION 1: DS can store the last time it has made a synthesis & compare this to a timestamp attached to each record in the Raw Data Store. It will then only retrieve records for which the timestamp is at a time after the DS last made a synthesis.
      • CONS: This will incur some overhead, since, at every synthesis, the DS would be checking through every record in the Raw Data Stores and comparing the timestamp to its last synthesis date. It also means the that the DS will need some sort of persistent storage to store the last time it executed a synthesis (On the event that the data synthesiser turns off).
    • SOLUTION 2: Once the DS retrieves data from the Raw Data Store, delete it and transfer it onto the Historical Database. NOTE that the only difference between the Raw Data Store and the Historical Data store is that each record in the Historical Data Store contains an extra recommendation field. The DS then sends a call to Pattern Matcher, insructing it to execute on the new data that has just arrived in the Historical Data Store. The pattern matcher will retrieve new data (identified by a NULL value in the Recommendations field) plus the necessary data from the Historical Data Store according to the period the analysis is being made on (ie. Does the Pattern Matcher want to make a recommendation on 1 week's worth? 1 month's worth? 1 year's worth? etc). It makes the analysis and sends ONLY the recommendations back to the Historical Data Store.
  • The scenario would otherwise be this:
    • DS retrieves, say 1Gb worth of data from the raw data stores. Note that already synthesised data is still sitting in the raw data stores and the DS would have to be careful in what it will retrieve.
    • DS sends this 1Gb to Pattern Matcher
    • Pattern Matcher retrieves 3Gb worth of data from the Historical Data Store to make it's Trends Analysis.
    • Recommendations are made and Pattern Matcher sends the new analysed data to the Historical Data Store.
  • The proposed scenario will be something like this:
    • DS retrieves 1Gb worth of data
    • DS sends 1Gb to Historical Data (but flagged us new), calling Pattern Matcher to execute
    • Pattern Matcher retrieves all it's need data from Historical Data Store (that's 1Gb + 3Gb = 4Gb)
    • Pattern Matcher sends only the recommendations for the new data into the Historical Data Store. It'd probably only be 5Mb.

--Marie 09:35, 16 May 2007 (UTC)

Hey Anthony, just in regards to the DataSynth and recognizing whether data is synthesised or not. Since the DataSynth will be gathering info and sending it to the pattern matcher one observation at a time, we can probably just put an extra column in the Observation table called "Synthesized" that will store a Boolean value. --Marie 04:47, 18 May 2007 (UTC)

Also, for the observation entity, why is Sensor a PK? Are you saying that ObservationID is only unique to each Sensor? I always thought that observationID will be unique across the system, regardless of where it is from. --Marie 05:38, 18 May 2007 (UTC)

Test Data

Here are the rules we are going to implement:

  • EnergyProduced vs PopulationCount (humans)
  • SoilComposition vs PopulationCount (nematodes)
  • WaterQualityPH vs SoilQualityPH
  • EcosystemZone vs PopulationCount (total)
  • WaterColour vs SoilMetalPresent

Authentication to prototype

  • Where does the data for the authentication come in? I would think from another database table. It'd be stupid to store it in an the UI component. --Jensyn 11:33, 12 May 2007 (UTC)
  • About that - I was hoping to add users to the MySQL database in initialisation, and do authentication via the database.
    • The reason for this is that in code, to initially connect to the database we will need to have an account that is hardcoded to establish a connection. In my opinion, this is bad news as we will have to store the password in plaintext. It would then have to do a lookup into our database and transfer passwords (either in plaintext or ciphertext) back to the client (very risky AND inefficient if we have a large number of users). Even if we only allow this "hardcoded user" access to the user's table, this still leaves our very critical login information open to the world, should someone get a hold of the source, or reverse engineer the code.
    • What we can do is when we have our login screen, then we test the connection to the MySQL database - if authentication fails then it's the DBMS's responsibility (if we cannot successfully connect or if the login details are incorrect) and we can just look at the exceptions returned from the system call. Should authentication be successful, then we can use the same login details (even the same connection if we want to be lazy - but for good style I won't because I would imagine that at high usage we would rather close unnecessary connections to increase server availability) to re-connect, get information and then close our connection.
  • So I guess it'd be stupid to store authentication in the UI component, but HOW we'll get this information is of bigger concern - my recommendation is to let the DBMS handle it - it is capable of encryption etc.
  • Some references on adding/deleting users, permissions etc.

--AnthonyJoseph 23:29, 15 May 2007 (UTC)

We also need to store some user data in the database. Because how else would you identify a "data source" eg sensor or whatever, from an actual admin user, because both would have write access.--Jensyn 01:34, 21 May 2007 (UTC)

Storing Raw Data

  • Well, I was thinking about how we should go about storing raw data, and further to the email I sent a while ago, I was thinking about putting this in separate databases, so we would have 6 or so databases within the application. The justification for this is:
    • If we have this, then we can control access to the databases really easily (yes I know this can be done with tables as well... but from an extensibility point of view it much easier to protect a databases' tables rather than to protect each table discretely)
    • Should we lump all of the data into the one database, then the schema would resemble the historical data minus the recommendations. This seems to sort of do the job of the data synthesiser, except in a more complicated way (especially I could imagine this method would cause havoc with accepting data recorded in different frequencies - so if we get population data every month, but weather data hourly then how would we "synthesise" this?
  • Implementation in schema is no difficult for either alternative, but I would take preference for performance, extensibility and general cleanliness of our database to keep the raw data in discrete databases with different access - so a smart dust sensor recording soil quality cannot access energy data etc.

--AnthonyJoseph 23:44, 15 May 2007 (UTC)

Common Problems with Eclipse and Solutions

  • You get a bunch of objects which can't be resolved - change compiler SDK compliance version in the preferences to 5.0 (6.0 won't work with some of the code)
  • Problems with Image IO on startup - Eclipse somehow deleted the .gif files in the bin directory, so delete and do an update.

Repository Notes

  • I organised the repository to have a file system like:
    • bin: executable code
    • src: source code
    • doc: various text notes, images etc.
  • In order to open the project in Eclipse,
    • Go to File --> Import.
    • Select General, Existing Projects into workspace.
    • For the root directory, select the directory you checked-out from the SVN repository. ( I think - I had troubles replicating it...), and click "Finish"
    • ...and the project should appear in the left hand panel.

Meeting Minutes/Agenda

Proposed Agenda for Meeting 18 May 2007

  • Agree on an interface description between Gurgle Earth and MySQL database.
  • define the IP addresses and ports to be used by different components
  • Ummm... sorry for possibly missing the point, but who'll be responsible for working on processing reported data on the world/data view - is that Marie's Generate Reports? --AnthonyJoseph 13:27, 17 May 2007 (UTC)

Minutes from Meeting 18 May 2007

Members Present: All
Members Absent: None
Date: 18/05/2007
Time: 17.30
Issues from Previous Meeting:

  • None

Issues Raised:

  • Way too many
  • Development section to be added to wiki for development decision

Action Items:

  • Deon
    • Generate Reports
    • Pattern Matcher
  • Marie
    • Dummy Data
    • Data Synthesizer
  • Anthony
    • Wednesday morning
      • Database wrapper (Internal API + External API)
      • User Idenitification
    • Friday
      • Simulation of external interfaces
  • Jensyn
    • Finish Web Server
    • Encryption Layer
    • Configuration File Wrapper


Next Meeting:

  • 25th May 2007


Minutes from Meeting 30 April 2007

Members Present: All
Members Absent: None
Date: 30/04/2007
Time: 15.30
Issues from Previous Meeting:

  • None

Issues Raised:

  • None

Action Items:

  • Deon
    • Pattern Matcher
    • Rules
  • Marie
    • data synthesiser
    • alarms
    • generate reports
  • Anthony
    • database coding + API
  • Jensyn
    • admin view
    • login page
    • move image map code to be sent from server
  • EVERYONE
    • have a go at the implementation and execution architectures as outlined in the assignment doco

Next Meeting:

  • 7th May 2007 tutorial class.

Minutes from Meeting 20 April 2007

Members Present: All
Members Absent: None
Date: 20/04/2007
Time: 17.00
Issues from Previous Meeting:

  • None

Issues Raised:

  • None

Action Items:

  • Marie to put Authentication stereotype on Historical Data in conceptual architecture
  • Marie to fix the arrows to raw data in conceptual architecture.
  • Jensyn to fix Scalability Impact Map 1 to say World/Data View instead of Graphical/Text View

Next Meeting:

  • Monday 12.30 Level 5 couches


Proposed Agenda for Meeting 20 April 2007

  • proposal to merge "Architectural Decisions" with "Justification". I understand that Architectural Decisions list what you've done and Justification lists why but wouldn't it be better if we wrote a reason for each architectural decision (instead of doing it separately)? --Marie 05:52, 20 April 2007 (UTC)
  • What are we doing with the IAES use case map?--Jensyn 05:54, 20 April 2007 (UTC)
  • use cases to be merged - has this been done yet?--Jensyn 06:25, 20 April 2007 (UTC)
  • just an issue in regards to the anomalous data: how does the pattern matcher know that data has been changed/deleted by the administrator in the historical store? the pattern matcher needs to know to be able to send an alarm to the views. --Marie 06:41, 20 April 2007 (UTC)
  • Sensor manufacturers/Mining Companies/Security use case maps needs the Data Synthesiser to retrieve and return data from ALL raw data stores.
  • Conceptual Architecture Diagram - there are lines to hte raw data stores that are missing.

Minutes from Meeting 19 April 2007

Members Present: All
Members Absent: None
Date: 19/04/2007
Time: 1800
Issues from Previous Meeting:

  • None

Issues Raised:

  • The world map should be sent from the server side to the client since we've decided on a thin-client architecture.

Action Items:

  • Deon to change all instances of 'encrypt' to 'authenticate' in implementation architecture
  • Deon to change "Text and Graphical View" to "Data and World View" in any implementation and execution architecture diagram
  • Everyone else to change "Text and Graphical View" to "Data and World View" in their Use Case Maps
  • Marie to change Security Use Case Map so that it raises alarms to all views and suspicious data is analysed by the Rules Component
  • Deon to change "Database" component to "Raw Data" in execution architecture
  • Deon to add an alarm arrow from Pattern Matcher to Admin on execution architecture
  • Deon to change "Store Data" to "Store/Retrieve Data" in execution architecture
  • Deon to change "Display Formatted Data" to "Request Formatted Data" in execution architecture
  • Deon to fix triangles in execution architecture
  • Deon to move box in implementation architecture to the Display Server
  • Jensyn to change all instances of "synthesize" to "synthesise"
  • Marie to change "Formatted Visual/Text Data" to just "Formatted Data" in conceptual architecture diagram
  • Marie to add an alarm from Pattern Matcher to "Data and World View" in conceptual architecture diagram
  • Marie to change "Text and Graphical View" to "Data and World View" in conceptual architecture diagram
  • Deon to change environemental scientist use case map: ES3 to be moved to world view, delete trace on pattern matcher, fix recommendations
  • Anthony mining company delete MC 01 MC 02
  • Anthony to add alarms to world and data view, mining company
  • Use Case Map Policy Maker/NPO ANTHONY
    • Anthony to delete orange line from
    • Anthony to move NP02 to generate reports
    • Anthony to delete NPOSE_API01
  • Sensor Manufacturers ANTHONY
    • Remove SAMACOC 01/02
    • Change SAMACOC 06 append "to rules"
    • Rename SAMACOC to something that is less... fail
    • Implement comment against SAMACOC 07 and move tag up to top trace
    • Move SAMACOC 8 up to pattern matcher
  • UN Use Case Map JENSYN
    • Remove UN1, UN3, UN6, UN8
    • Make line thickness weight 9
    • Declossify blobs
  • Network System Administrator MARIE
    • Remove A1
    • Rewrite A2 to read "Display network connection failure alert on screen"
  • Security MARIE
    • Defloat start ball
    • Add lines to rule
    • Add alarms to world and data view
    • Remove SD-01 and SD-02

Next Meeting:

  • Friday 5pm Level 5 couches


Proposed Agenda for Meeting 19th April 2007

  • using ReView to check off tasks to do, and optimise marks for Milestone 1
  • What we will present during the project presentation and feedback session on 23 April
  • Perhaps a PowerPoint presentation should be created to accompany our project presentation
  • You know, I thought about how we want a "thin client", shouldn't the image be sent from the server side as well in our prototype?--Jensyn 05:27, 19 April 2007 (UTC)

Minutes from Meeting 18th April 2007

Members Present: Deon, Anthony, Jensyn
Members Absent: Marie
Date: 18/04/2007
Time: 8pm
Issues from Previous Meeting:

  • None

Issues Raised:

  • Architectural decisions - what, justifications - why
  • visible/radio/infrared imagery picks up consumption patterns
  • Environmental scientist/systems engineer to sort
  • Generate reports module - generates bitmaps etc for charts, rather than sending all data for chart
  • Data never gets deleted, but also gets replaced as well

Action Items:

  • Marie - make quality narrative use case map for security (see Lian's post on UtsOnline discussion board)
  • Jensyn - make quality narrative use case map for scalability
  • Anthony - fix up Deon's use case map with orange colour
  • Jensyn - fix aerospace manufacturers stakeholder narrative
  • Anthony - put in mining companies use case map have the alarm being triggered in the world view not the admin view
  • Deon - delete duplicate view reports use case map in Waste Management, fix other use case map in Waste Management
  • Anthony - read comments in use case maps that you did and fix and remove comments!
  • Marie - fix network system admin use case map to be similar to Deon's text/Anthony's diagrams
  • Jensyn - clean up wiki comments
  • Deon - do implementation architecture

Next Meeting:

  • 6pm 19th April 2007 level 5 couches

Proposed Agenda for Meeting 18th April 2007

  • I know I'm putting my head in the noose by requesting this, but could we check the repository that it is OK - I was trying to clean it up and accidentally deleted the source files - I think I was able to revert back correctly, but I would like a second opinion --AnthonyJoseph 00:11, 18 April 2007 (UTC)
  • See previous meeting agenda.
    • Brought forward... see below CHANGES MADE --AnthonyJoseph 04:58, 17 April 2007 (UTC)
  • Clean up wiki comments again.
  • Search through the doco for any inappropriate uses of the words "encrypt"(ed)
  • Make uses of the words "module"/"Component" etc.--Jensyn 10:59, 16 April 2007 (UTC)
  • Implementation Architecture
  • Anthony's requests
    • Prototype coding
    • MeTRiCS non-runtime attributes from tutorial
      • As per Lian's post, we need to use the quality narratives to draw use case maps for each stage.
    • using ReView to check off tasks to do, and optimise marks for Milestone 1
    • My proposed additions/modifications for responsibilities as on main page with 3 asterisks.
    • What we will present during the project presentation and feedback session on 23 April
      • Perhaps a PowerPoint presentation should be created to accompany our project presentation
      • Also, would we need to demonstrate the prototype? If so, should I bring in the lappy to demo it (because I don't think the General Access computers have Eclipse installed)

--AnthonyJoseph 13:42, 11 April 2007 (UTC)

  • We need to search through the entire document for the word "database" to see if it's been incorrectly used! Especially after all the complaining Anthony's done! --Jensyn 05:11, 14 April 2007 (UTC)
  • Could we all upload pictures starting with Team2 or something or rather, so at least we can claim its ours?--Jensyn 05:36, 14 April 2007 (UTC)
  • Which use case map diagrams were we supposed to follow?
  • Also, what is the difference between architctural decisions and justificaton?--Jensyn 14:44, 15 April 2007 (UTC)

Minutes from Meeting 16th April 2007

Members Present: All
Members Absent: None
Date: 16/04/2007
Time: 10:00
Issues from Previous Meeting:

  • None

Issues Raised:

  • Fix code.

Action Items:

  • Fix use case pictures to look like Anthony's pictures (look for the ones with the different colours). Text should look like Deon's - see Waste Management Use Case.
  • Marie to rearrange introduction to explicitly state risks/constraints/enablers
    • Move intro to overview, split other paragraphs into subheadings
  • Marie - waste management use case generates alarm to user view
  • Marie to add alarm trace to world/data views on conceptual
  • Marie to add Data Synthesis to world/data view on conceptual
  • Marie to make every occurrence of "System(s) Engineer(s)" to be "Systems Engineers"
  • Power company narrative removed
  • Anthony to fix Sensor Manufacturers, Oil Companies and add Aerospace and Agricultural Companies to the list
  • Anthony define what time is data model observations
  • Anthony to add time property to forest/ag
  • Anthony to modify data models as per notes in log
  • Deon to modify execution architecture initiate data synth to general to admin
  • Deon to add API and add callback to historical
  • Deon to add callback on edit data
  • Marie to add authentication stereotype to conceptual architecture(v4) (pg 129)
  • Deon to add authentication stereotype to execution architecture (v2) (pg 129)
  • Anthony to change accessTextualViewofTrends to accessDataViewofTrends
  • Deon to change line thickness to match Anthony's Use Case maps
  • Jensyn to review Use Case Maps

Next Meeting:

  • Wednesday 18th 4:15pm Level 5 Couches

Proposed Agenda for Meeting 16th April 2007

  • Implementation Architecture
  • Anthony's requests
    • Prototype coding
    • MeTRiCS non-runtime attributes from tutorial
      • As per Lian's post, we need to use the quality narratives to draw use case maps for each stage.
    • using ReView to check of tasks to do, and optimise marks for Milestone 1
    • My proposed additions/modifications for responsibilities as on main page with 3 asterisks.
    • What we will present during the project presentation and feedback session on 23 April

--AnthonyJoseph 13:42, 11 April 2007 (UTC)

  • We need to search through the entire document for the word "database" to see if it's been incorrectly used! Especially after all the complaining Anthony's done! --Jensyn 05:11, 14 April 2007 (UTC)
  • Could we all upload pictures starting with Team2 or something or rather, so at least we can claim its ours?--Jensyn 05:36, 14 April 2007 (UTC)
  • Which use case map diagrams were we supposed to follow?
  • Also, what is the difference between architctural decisions and justificaton?--Jensyn 14:44, 15 April 2007 (UTC)

Minutes from Meeting 11th April 2007

Members Present: All
Members Absent: None
Date: 11/04/2007
Time: 09:42
Issues from Previous Meeting:

  • None

Issues Raised:

  • Anomalous data should be stored in historical database until it is analyzed by admin
  • Should be replicated alarms to world and data view
  • Alarms raised to the user UI detailing retroactive data changes
  • Any data changes will be logged
  • Power and Mining companies narratives are identical
  • Images cannot be processed by the system, instead satellites will measure the surface numerically and send this data instead
  • Time stamps will be when data is collected
  • International Waters to be declared its own country for auditing purposes
  • Admin view to be able to initiate data synthesis not user views

Action Items:

  • Marie to rearrange introduction to explicitly state risks/constraints/enablers
    • Move intro to overview, split other paragraphs into subheadings
  • Marie - waste management use case generates alarm to user view
  • Marie to add alarm trace to world/data views on conceptual
  • Marie to add Data Synthesis to world/data view on conceptual
  • Anthony to add Systems Engineer tag to dataResponseAPICall
  • Marie to make every occurrence of "System(s) Engineer(s)" to be "Systems Engineers"
  • Jensyn to format her responsibilities on use case maps
  • Power company narrative removed
  • Anthony to fix Sensor Manufacturers, Oil Companies and add Aerospace and Agricultural Companies to the list
  • Jensyn to update Aerospace Manufacturer narrative to say numerical data instead of images
  • Anthony define what time is data model observations
  • Anthony to add time property to forest/ag
  • Anthony to modify data models as per notes in log
  • Deon to modify execution architecture initiate data synth to general to admin
  • Deon to add API and add callback to historical
  • Deon to add callback on edit data
  • Marie to add authentication stereotype to conceptual architecture(v4) (pg 129)
  • Deon to add authentication stereotype to execution architecture (v2) (pg 129)
  • Jensyn to add justifications for the above issues
  • Anthony to change accessTextualViewofTrends to accessDataViewofTrends
  • Deon to change line thickness to match Anthony's Use Case maps
  • Jensyn to review Use Case Maps

Next Meeting:

  • Monday 16th 10am Level 5 Couches
  • Wednesday 18th 4:15pm Level 5 Couches

Proposed Agenda for Meeting 11th April 2007

  • Design a user interface
    • Which UI is this for? the 'data' view, the 'world' view or the 'admin' view? or do we have to do them all?--Jensyn 08:44, 8 April 2007 (UTC)
      • Id say it is applicable to the entire presentation layer - ie all three
  • Start work on code
  • resolve comments on main page wiki
  • have the system purpose and overview been delegated? --AnthonyJoseph 05:08, 8 April 2007 (UTC)
  • Want Deon's approval that the policy manufacturer/NPO use case map integrates his use case properly and then will move his comments into this section. --AnthonyJoseph 16:53, 7 April 2007 (UTC)
  • some responsiblities I found from reformatting my use case maps... stored on Wiki as 3 asterisks. --AnthonyJoseph 16:45, 7 April 2007 (UTC)
  • --AnthonyJoseph 05:24, 7 April 2007 (UTC) - Use the ReView software to check off any tasks that still have been unassigned.
  • I was thinking about Deon's proposal to add the functionality to add flags to data (ie to flag good/bad countries). Something I'm reluctant to do is to add this responsibility to the Pattern Matcher. The reason for this is that although the Pattern Matcher is responsible for adding "recommendations" to the observations (as suggested by the data models), I think the pattern matcher loses its cohesion by making it responsible for flagging data.
    • I think that Generate Reports should have this responsibility for the following reasons:
      • Generate Reports have an existing link to the UI's - adding more links from the UI's to the pattern matcher would not only increase the complexity of the architecture, but it would make the pattern matcher more "blob-worthy".
      • From the use case maps the Generate reports component receives this message, and then the database sends this message through to the pattern matcher. From a DB perspective, although this is possible (possibly with a trigger/stored procedure in SQL2), it is complicated, and I think it is unnecessarily complex, especially considering that Generate Reports can handle this...
      • ... of course this would require that Generate reports has write access to the Historical Data - which should be OK as our UI's will be authenticating access, and nothing else (besides the API which is authenticated) will have read/write access to this database.
      • Maybe renaming the generate reports function to a better name if this gets approved might be a step to consider?
  • the non-runtime (MeTRICS) qualities that are at the end of each tutorial?

--AnthonyJoseph 08:24, 8 April 2007 (UTC)

  • cleanup of random comments on the Wiki page
  • The power company stakeholder narrative is too similar to the one about the mining companies. This isn't really ideal.
  • Do we need to write some sort of version control between the versions of the conceptual architecture in the document?
  • perhaps we can use this (the content page - not the discussion page) as an index to the different stages of the design process - have an index of all the images we have and the team logs etc. --AnthonyJoseph 12:20, 8 April 2007 (UTC)
  • Are you sure the architectural decisions justification != architurecture description, or is the description supposed to be just supporting text for the diagram, as all diagrams need.

--Jensyn 08:44, 8 April 2007 (UTC)

  • could the mining companies use case description be simplified into a list of responsibilites like Deon's done? (or has this already been discussed??? Sorry, I can't remember)
  • same with accessTextualViewOfTrends (could this be renamed as well? because we have renamed 'text' view to 'data' view)

--Jensyn 08:59, 8 April 2007 (UTC)

- would the behavioural analysis of execution/implementation architectures come in the next iteration, or is that still to be done? - by the way, up to what point do we stop working on the execution/implementation architectures to reach milestone 1? --AnthonyJoseph 12:20, 8 April 2007 (UTC)

  • I've discovered in a bunch of my use case maps, that there lacks any means of storing graphical data but only text data in all the data stores. It's also lacking in the data models which I've just finished reviewing. So I don't know what to do anymore with my use case maps :( I've already typed them up, probably still look a bit ugly.
  • There's also no consistency as to how the use case maps have been laid out. Everyone's set them out very differnetly and we need to agree on one format. this is probably a good idea for other sectuions we do in the future as well.--Jensyn 10:09, 10 April 2007 (UTC)

Minutes from Meeting 4 April 2007

Members Present: All
Members Absent: None
Date: 04/04/2007
Time: 17:13
Issues from Previous Meeting:

  • Comment raised about Conceptual Architecture Description - to be discussed

Issues Raised:

  • Historical data data model confirmed
  • Alarms Confirmed

Action Items:

  • Anthony to fix Mining Company narrative as per proposed agenda
  • Deon to review Security Quality Narrative, write Persona
  • Anthony to review Scalability Quality Narrative
  • Marie to write contextual factors
  • Marie to complete use case maps
  • Jensyn to upload use case maps
  • Everyone: Implementation Architecture version 1
  • Jensyn to write conceptual architecture description - how the system works and think about run time and life cycle events
    • Talk about bottom DB's (like energy use etc) getting tables dropped every x weeks/months
  • Jensyn to review data models
  • Anthony change historical data
  • Jensyn to Rename Graphical View to World View and Text View to Data View
    • FYI as I was uploading new revisions of my use case maps I took care of renaming the UI's on my diagram. --AnthonyJoseph 14:39, 7 April 2007 (UTC)
    • Hopefully if I don't fall asleep on my keyboard I will send my VSD files soon...
  • Use Case Maps:
    • Anthony:
      • Remove IAES use case map
      • Move responsibilities to NPO/PM use case map
      • Tag use case maps with responsibilities and update descriptions
      • Add loop to mining company DS to geo data

Next Meeting:

  • Wednesday 11th 9am Level 5 Couches
  • Monday 16th 10am
  • Thursday 19th 6pm


Proposed Agenda for Meeting 4 April 2007

  • Start talking about the:
    • Use case maps
      • With the use case maps, look at use cases that have similar functions and/or descriptions and consider combining alike use case maps? --AnthonyJoseph 13:07, 27 March 2007 (UTC)
      • Something I found whilst I was doing my use case maps:
        • Does the alarm get displayed on the Admin view (to confirm), and
        • It's cool to update a user narrative (like in the case of my mining company) to better suit a full trace through the use case map? If so could I get a review on the mining companies narrative. --AnthonyJoseph 23:14, 27 March 2007 (UTC)
  • with the historical data, would this just store recommendations, or would it store the summary of data obtained - basically would generate reports also require a connection to the data synthesiser (note this will require updates to the data model), or does the historical data store this (as it is in the diagram now)?
    • execution architecture
  • quality narratives need to be reviewed and also need personas.--Jensyn 13:28, 1 April 2007 (UTC)
  • Team meetings during the holidays (if required?)
  • Unassigned tasks to be done on the wiki:
    • Identification and discussion of contextual factors
    • Execution and implementation issues,
    • prototype construction

--AnthonyJoseph 08:02, 3 April 2007 (UTC)

  • I know I was supposed to write the conceptual architecture description, but I can't find any mention of such a thing in the lecture notes, the assignment document or the textbook. Any ideas?--Jensyn 06:14, 4 April 2007 (UTC)

Minutes from Meeting Monday 26th March 2007

Members Present: All
Members Absent: None
Date: 26/03/2007
Time: 1430 - 1600
Issues from Previous Meeting:

  • None

Issues Raised:

  • None

Action Items:

  • Deon to finalise conceptual architecture arrows
  • Jensyn to write the scalability quality narrative
  • Jensyn to write the conceptual architecture description
  • Deon to write UI responsibilities

Next Meeting: 4 April 2007, 1700 LDC1


Proposed Agenda for Meeting Monday 26th March 2007

  • Execution Architecture - get started
    • Need to ensure that the use-case maps are ready, but it is important to start ASAP (by next meeting to start work on the exec. architecture)
  • Data models
    • If cleared by Lian, then digitise and upload onto Wiki
  • Review existing wiki comments, delete/implement what is left
  • Expand/agree upon component responsiblities
  • Finalize conceptual architecture
  • quality narratives
  • conceptual data models

--AnthonyJoseph 02:12, 25 March 2007 (UTC)

  • I think we should call all the components 'components' or at least somethign consistent and steer away from names like 'modules'...like Anthony has used in the quality narrative (which I'm not sure what to do with after I got assigned to write ???)--Jensyn 10:57, 25 March 2007 (UTC)
  • Also concerning the system, what do we call it? In doing the renames from Gurgle Earth to Gurgle Planet, I noticed it was called a project at times, and a system or software or whatever at other times. Maybe this is appropriate but I'm not so sure.--Jensyn 11:10, 25 March 2007 (UTC)

Minutes from Meeting Wednesday 21st March 2007

Members Present: Anthony, Jensyn, Deon, Marie
Members Absent: None
Date: 21/03/2007
Time: 1700-1800
Issues from Previous Meeting:

  • Assess the initial draft of the use case maps and/or the conceptual architecture diagram
  • As raised by Jensyn last week, the use of "Gurgle Earth" for the software to be developed... see below.
    • Actually it's written "Gurgle Planet" in the subject outline, so our title is wrong too :(--Jensyn 07:01, 20 March 2007 (UTC)
  • Also, do we need quality narratives for the quality attributes
  • another meeting late this week to discuss conceptual architecture?
  • organise reviews of quality narratives?
  • due to a team member being absent, it was decided to the meeting has been postponed from Monday to Wednesday.
  • simple conceptual data models as defined in the tutorial = ?
  • Conceptual Architecture - component responsibilities need to be written properly and delegated
  • is a description of the conceptual architecture required (as to me the not-so-hidden message is any diagram in our document needs descriptive text explaining it - or would this be for the use-case maps?) --AnthonyJoseph 01:21, 20 March 2007 (UTC)
  • Can I also suggest that meetings every second week be held on a Thursday because I have ESS labs due on every second Tuesday that are a lot of work?--Jensyn 09:06, 20 March 2007 (UTC)
  • Also, go through comments in Wiki and try to resolve as many issues as possible.

Issues Raised:

  • Add arrows to show flow of information - on conceptual architecture
  • Divide GUI into 2 components - Admin and User
    • System alarms sent to admin, and data alarms to user.
  • rename "Gurgle Earth" to "Gurgle Planet"

Action Items:

  • Deon to fix conceptual architecture
    • add arrows for data flow
    • swap oil reserves with geological data
    • Add in two GUIs rename them to Admin View, Graphical View and Text View
      • I might not get this done before monday, I still cant get in eng labs at uni, and I dont have visio at home, will do after the meeting monday if I cant before
  • Jensyn to do project name replacement
  • write security (Marie) and scalability (Jensyn) quality narratives
  • move meetings to Wednesdays, 5pm weekly from next week onwards.

Next Meeting: 26 March 2007, 4pm Tute room.

  • organise reviews of quality narratives
  • Component responsibilities
    • Jensyn - all that have been done
    • Deon - pattern matcher/rules
    • Marie - Data synthesiser
    • Anthony - Generate reports
  • Data to be stored in database - to be added as a part of the component architecture description.
    • timestamp, location, company/country, collection method, data source,
  • config. management issue - keep 1 VSD file for all project diagrams - distribute via email.
  • write all notes on the concept. architecture diagram below it, and synthesise after next meeting.


Proposed Agenda for Meeting Wednesday 21st March 2007

  • Assess the initial draft of the use case maps and/or the conceptual architecture diagram
  • As raised by Jensyn last week, the use of "Gurgle Earth" for the software to be developed... see below.
    • Actually it's written "Gurgle Planet" in the subject outline, so our title is wrong too :(--Jensyn 07:01, 20 March 2007 (UTC)
  • Also, do we need quality narratives for the quality attributes
  • another meeting late this week to discuss conceptual architecture?
  • organise reviews of quality narratives?
  • due to a team member being absent, it was decided to the meeting has been postponed from Monday to Wednesday.
  • simple conceptual data models as defined in the tutorial = ?
  • Conceptual Architecture - component responsibilities need to be written properly and delegated
  • is a description of the conceptual architecture required (as to me the not-so-hidden message is any diagram in our document needs descriptive text explaining it - or would this be for the use-case maps?) --AnthonyJoseph 01:21, 20 March 2007 (UTC)
  • Can I also suggest that meetings every second week be held on a Thursday because I have ESS labs due on every second Tuesday that are a lot of work?--Jensyn 09:06, 20 March 2007 (UTC)
  • Also, go through comments in Wiki and try to resolve as many issues as possible.

Minutes from Meeting Monday 12th March 2007

Members Present: Anthony, Deon, Jensyn, Marie
Members Absent: None
Date: 12/03/2007
Time: 1600-1630
Issues from Previous Meeting:

  • Evaluating past narratives - to be reviewed after this meeting individually, comments posted on document
  • Rejected movement to separate document into different documents for each stage of development - too complicated and unnecessary at this stage.
  • Decided that after midnight this Thursday (15 March), reviews of all of the usage/stakeholder narratives will be completed, changes will either be incorporated or refuted. After reviews are completed, between Thursday and the next meeting, work on the following drafts will commence:
    • extracting information for the conceptual architecture process
    • commence working on:
      • a draft conceptual architecture
      • draft use case maps

Issues Raised:

  • renamed "usage narrative" to "stakeholder narrative" to focus on the fact that not all of the stakeholders are users.

Action Items:

  • Organise review of usage/Stakeholder Narratives - everyone is to do a review
  • Have a start at the use case maps and/or the conceptual architecture diagrams

Next Meeting: Monday 19th March 2007

Proposed Agenda for Meeting 12th March 2007

  • Evaluate usage narratives
  • Discuss quality narratives and quality attributes
  • Whether a real-time system is required
  • Any additional or remove superfluous stakeholders
  • Give additional tasks for the week
  • Start exploring the conceptual architecture
  • Perhaps add a couple of pages, such that this page will be sort of an index and then this will link off into different documents, and have a master list of all the work we have in our project. --AnthonyJoseph 07:16, 11 March 2007 (UTC)
  • Verify that usage narratives are appropriate as per Lian's Comment --AnthonyJoseph 22:35, 8 March 2007 (UTC)
    • Quote From Lian: Regarding stakeholders and narratives, make sure you write short and snappy persona descriptions for each stakeholder. Stakeholder narratives are not necessarily the same as "usage" narratives (as not all stakeholders will be "using" the system)
    • Proposed usage narratives to remove
      • Resources - Power Companies, Oil Companies, Mining Companies, Agricultural Companies, Waste Management/Recycling Companies
        • Justification - Although these are very much stakeholders, I'm not sure whether these people will directly use the system, so I don't think they would need usage narratives
      • System Users - Systems Engineers, Developers
        • Justification - Although the developers/systems engineers are stakeholders and are affected by the system , I don't think they would be active users of the system. Whereas the sysadmins would need to consider interfaces between the various sensors and the main system (including adding new systems), the developers/systems engineers might not have so much of a focus as of yet, and are more development rather than users of the system.
  • I don't know if the usage narratives are too short/lack detail after I saw the ones that someone wrote (I'm not too sure who). They also use a different format (ie persona is described after the scenario). I personally think this method is a bit long winded.--Jensyn 8:42PM, 11 March 2007
  • Are we to refer to our project in the narratives and throughout this document as "Gurgle Earth"? It states in the description as a cynical name, but no mention of any official name.--Jensyn 8:46PM, 11 March 2007


Minutes from Meeting Monday 5th March 2007

Members Present: Jensyn, Marie, Deon, Anthony
Members Absent: None
Date: 05/03/2007
Time: 2pm-4pm
Issues from Previous Meeting:

  • N/A

Issues Raised:

  • Usage narratives identified and assigned to group members

Resolutions:

  • Contact details
  • Defined meeting times
    • Monday 2pm-8pm
    • Weekends if required
  • Sample usage narratives constructed

Next Meeting: Monday 12th March 2pm


TEMPLATE: Minutes from Meeting xxxx

Members Present: xxxxx
Members Absent: xxxxx
Date: dd/mm/yyyy
Time: xxxxxx
Issues from Previous Meeting:

  • xx

Issues Raised:

  • xx

Action Items:

  • xx

Next Meeting:

  • xxxxx


TEMPLATE: Proposed Agenda for Meeting xxxxx

Miscellaneous Information

Discussion of whether Mining Companies are a stakeholder or a user of the system

Anthony -> I cannot think of how the mining companies would use the system... --AnthonyJoseph 09:29, 11 March 2007 (UTC)

I thought they won't use the system, but they like power companies will have much to lose from this project, because we want to minimise any more damage to the earth's resources. --Jensyn 9:07, 11 March 2007

Remember Lian's comment - stakeholder narratives are different from user narratives per se (we are just lumping them together) --Deon 12:19, 11 March 2007 (UTC)

True, but I thought we'd only need to give our stakeholders personas, but for our users we'd give them usage narratives .... --AnthonyJoseph 01:18, 12 March 2007 (UTC)

After meeting with the group, now I will write a proper stakeholder narrative. Thanks :) --AnthonyJoseph 12:30, 12 March 2007 (UTC)


Milestone 1 Presentation

3 minutes

  • Conceptual Architecture
    Enlarge
    (show conceptual architecture) - Deon
    • how the system works
      • dumping of data into raw data store
        • data in correct format
        • authentication of users
        • different inputs being stored in different parts of database
      • timing of Data Synthesiser
        • every admin user-defined interval
        • what it does - data synthesiser retrieves and sorts data from raw data store and feeds it into the Pattern Matcher which then compares it with the rules and previous data from historical store, and then restores it in the historical data store
      • generating of report
        • user initiated
        • reads data from historical store and outputs to the World and Data Views in user requested format
        • explain World and Data View

2 minutes

Enlarge
      • people who build the system
      • people who use it on a day to day basis
      • rest of the world who are affected by the system
    • give example of significant user interaction of the system - suspicious data case (mining company)
      • show use case maps
        Enlarge

2 minutes

  • Quality Narratives - Marie
    • why we chose scalability and security
      • scalability - because system has to be expandable, with more data sources being added
      • security - to prevent attacks to the system, mainly misleading data entering system
      • show impact/use case maps
        Enlarge
Enlarge

2 minutes

  • [[Team_2:_Gurgle_Earth#Conceptual Data Models|]] - Jensyn
    • Why historical and raw data store
      • raw data gets cleared by policy regularly
      • historical data store has copy of all data
    • comments (as entered by user) and trends (as identified by Pattern Matcher)
    • how Pattern Matcher interacts with historical data
Personal tools