How to write a paper

2 02 2007

After almost two weeks, three of us have finished writing a paper for the computer journal. The procedure is tough. We continue producing ideas, changing ideas, and writing. The most terrible time is that I do not have any new idea and I cannot explain things clearly. In the former case, I was very stressed; In the latter case, I was very frustrated. Anyway, that moment has passed, and I want to record e some experience for writing a paper.

  1. Writing helps thinking: when you have a rough idea, you should write it down immediately. The important thing is you should go back to read it times by times. Definitely many words or sentences do not make sense. Try to make the idea clear, and see how it works step by step. When it goes well, and go to the contrary: question each step. Is this step is wrong? Is there any other situations that are ignored? Is each step consistent? Especially, when you use mathematical definitions, you should make it concise and precise. It’s very hard, but what can be done is to check it for many times.
  2. If the idea is fine, how to make it clear? It is impossible to write down the things clearly if they are not clear in your mind. When you know what you exactly want to express, try: (1) begin with introduction; (2) explain logically; (3) end with a summary.
  3. Always state the most important thing first.
  4. How to review a paper after finishing it: does each sentence make sense? How are sentences related to each other?
  5. Don’t create fancy word. If the word is not typical, defend why it is used.
  6. Make text consistent: bold, italic, and quotes.

I have another problem — poor English. I have a bad habit that I make sentence too long. I organise sentences in a strange structure, and use unnatural words. I should remind of myself all the time.





Missing families

20 01 2007

Today my mother asked: are you getting along well in Ireland? If not, come back. My father said: nobody helps him washing his hair everyday when I am not there. I want to cry and fly back immediately. I am so lucky to have them as my family.  Guess I am not a good daughter.  They are getting older, but I am not around. I do not concern about them and do not help them with housework. I only cause loads of trouble for them. I am not a child any more, and I should think how to take care of my parents. Hope everything goes well with them.





It’s a start?

17 01 2007

Now it’s 16:00. It seems today has passed, and half of this week has passed. I am not productive at all. In my mind, I have lots of things to do, and to worry. First of all, I need to continue researching on location paper, and to study category theory knowledge. Any of them can take all my time. However, I have no spirit for working now. I began disliking myself. Such a stupid, lazy woman!

I also worry about my phd work. I always feel uncertainty about my future. I donot know what I am doing is on the way. I donot know where I will reach.

I have worked on contextual models, but even I can not count how many models are popular now, and what proplem they have. However, I may know some, at least ORM by Henricken, and ontologies, while I donot know where I should put my work in.
I have worked on category theory, but I donot know how category theory is applied. I have read some papers about applying category theory in conceptual data model, but I got lost in mathematical definition and proof. I read some categorical books, but the speed I forgot is quicker than that I read :(

I have worked on applying lattice to uncertainty prolems in location models. I donot really grasp the spirit of lattice, and donot know how to define meaningful join and meet operations.

I have worked on buidling location ontologies, but I donot know where my work is, how I compare my work with others’, and how I implement location ontologies.

All the above are what I have done in the temporal sequence. In each part, I only know little, and leave the key problems unsolved.

Anyway, this may be a phd’s life: always worried, busy, and afraid……





How to organize my files……

7 09 2006

Recently I am writing my theis proposal. I read the former papers again, and I try to classify them into different folders. The problem is that I have at least three ways to group the papers:

  1. into have-read or not-finished;
  2. into state-of-the-art or related-work;
  3. into most-important, worth-reading, little-related;

I have tried to rename the file to specify the above information, but I still don’t like it. Usually we read a lot of papers, and we try to write a summary to abstract the novelty of the paper and compare it with our own work. How do we relate those information with each paper? I write the summary with latex, so I can associate each summary with its bibtex. However, it is still not convinient for me to find the paper in my disk. Maybe I should rename all the papers with their index in bibliography, plus the above classification information.

I think the work may be troublsome and inefficient. Is there an efficient tool for managing and organizing the files in disk? The tool can support multiple classfications and attach other information for the files. Additionally, it supports advanced queries: not only the typical ones like name, author, key words and etc, but also the complexed ones like most frequently read, most related, latest, and etc. I am not sure.





Start Latex

25 01 2006

Start Latex frome here:

\documentclass[a4paper, twoside] {article}

\title{Title_of_Article}

\author{Author}

\begin{document}

\maketitle

…here write down what you want…

\end{document}

Above is the document you what to create. You can edit it in any editing tools, such as Eclipse, notepad, WinEdt, etc. Just save it as ” *.tex ” file (for example, firstDoc.tex).

In windows, you run them in command:

  1. latex firstDoc.tex -> then firstDoc.dvi will be created to read and another file firstDoc.log records some information of your original file.
  2. pdftex firstDoc.tex then firstDoc.pdf will be created……

Hints:

  1. About mathematics: if you want to write some mathematical functions, use $ to embrace them. Example: $f(x)=x \times y$. Oh, you see \times means multiple. Yeah, in latex the commands are begin with \. Many mathematical symbols are created with that kind of commands. Of course, there is another way to express mathematics: \begin{displaymath} ……\end{displaymath}. Here, no $ is needed between those clauses.
  2. If you want to draw a diagram, add the following two clauses between \documentclass and \begin{document}: (1) \input xy; (2) \usepackage[all]{xy}.
  3. Just start writing your document, and learn waht is needed to know step by step.

Some tips from others:

About bibliography:

add the following two sentences before \end{document}

\bibliographystyle{abbrv}
\bibliography{bibliography}
How to name your reference paper in a standard way:

authorsSirname+Year+FirstkeywordsInTitle, such as

@ARTICLE{Ranganathan2004Ontologies,
author = {Anand Ranganathan and Robert E Mcgrath and Roy H Campbel and M Dennis Mickunas},
title = {Use of ontologies in a pervasive computing environment.},
journal = {The Knowledge Engineering Review},
year = {2004},
volume = {18:3},
pages = {209-220},
}

How to display two figures in parallel:

\begin{figure}
\begin{minipage}[t]{2.5cm}
\includegraphics[scale=0.3]{*.jpg}
\caption{*}
\end{minipage}
\hfill
\begin{minipage}[t]{6cm}
\includegraphics[scale=0.3]{*.jpg}
\caption{}
\end{minipage}
\hfill
\end{figure}

Of course, if you want to show the figures, you need to add the following sentences in front of the document to load the packages:

\usepackage[pdftex]{graphicx}

\usepackage{graphics}

About some shortcut definitions to enumerize:

\def\ul{\begin{itemize}}
\def\eul{\end{itemize}}
\def\li{\item}
\def\ol{\begin{enumerate}}
\def\eol{\end{enumerate}}





report (01.16 – 01.24)

24 01 2006

Just like Lorcan said people always find things that are undone.

When I come back from home, I find work is waiting for me ;)

During those days, I organized some materials about semantic web that I read last semester, including semantic web, ontology, OWL, jena, and some reasoning tools such as DAIL+OIL.

Another thing is to find a case study for our paper with Simon. Until now, I find one, but we still  try to apply appropriate knowledge to that case to make it work. So this is the key work in this week.

ps: I learn a little about how to use Latex to write a document and draw diagrams. It’s very interesting.

Regularly, I will write down  things left undone:

  1. Read ConStruct technical report, and know what they do and how it works;
  2. Read lectures about COMP3019, because I came late and missed some;
  3. Read Semantic papers, and hope to build applications with other classmates;
  4. Finish our paper.




Some papers (continue 1)

10 01 2006

1. Architectures for context

  • Context: not just more text; effective only when it is shared (communication); emerging in dialog
  • Interpretation of intention depends on mutually available context;
  • Something is context because of the way it is used in interpretation, not due to its inherent properties;
  • Context-aware computing: the design of computing mechanism that can use characterizations of some standard aspects of the user’s setting (place, people, and things) as a context for interaction.
  • Analyze context’s features, compare three types of models (widget, networked service, and blackboards) and evaluate four factors (efficiency, configurability, robustness and simplicity).

2. The context toolkit; Understanding and using context

  • Define the context, and design the context widget and the shapes of GUI widget.

3. Engineering context aware enterprise systems

  • Analyze context toolkit.
  •  Generate “What we need is an infrastructure that supports dynamic composition of modular context components at runtimeâ€?.
  • Analyze other main models.

4. Perceptual components for context aware computing

  • Based on ontology, model user’s activity by a set of roles and relations.
  •  Different composition of roles and relations correspond to situations with context.
  • Basic concepts of context

5. Context is key

  • Propose a structured, flexible approach to context.
  • Analyze problems of context models: part of process, holistic treatments, mismatch between user and system, discover resources and users, services, and then integrate them into a useful experience.
  • Define context by a set of entities: literal value, real world, a set of roles, relationship, and situation (specific configuration of entities, roles, or relationships).
  • Propose system architecture.

6. Some motivations and possible approaches to a semantics of adaptive systems

  • Intuitions about the relation between context and adaptation.
  • - Adaptive behaviors: a collection of possible behaviors selected according to a context (state of the system, and limited history);
  • Situation identification -> process-correct behavior (occur by a given route);
  • - Separate adaptation logic from behavior logic;
  • - Seam – objects of real interest

7. Modeling context information in pervasive computing systems

  • Using UML model context;

8. The disappearing computer

  • Summarize the current challenges of pervasive computing

9. Foundations for a theory of contextors

  • The system introduces the definition, description and compositions of context.

10. Categorization and modeling of quality in context information

  • Propose QoCI (quality of contextual information).
  • Categorize the current context models: set-category, directed-graph, first-logic, preferences and user’s profile

11. Advanced interaction in context

  • TEA:
  1. TEA’s objectivity: develop an awareness-enabling add-on component for mainstream mobile computing and communication devices; 
  2. TEA’s add-on is responsible for the continuous dynamic profiling of the user’s place-activity (or context). Such information can be used for controlling in coming streams, annotating outgoing streams, or for setting device controls.
  3. TEA component relies on multiple primitive cues, extracted from an open collection of low-cost sub-semantic sensors.
  4. The general TEA objectivity is to assess which sensors can be combined effectively for context-awareness, which methods are required to relate sensor data to situations, and how complex contexts can be constructed from simple ones.
  5. Architecture:
  • Sensor: [physical: electronic hardware components that measure physical parameters;] [logical: all the information gathered from the host of the awareness component]
  • Cues: [Solve calibration problems. A cue is regarded as a function taking the value of a single sensor up to a certain time as input and providing symbolic or sub-symbolic output.] Context: [a set of 2D vectors ]
  • Scripting: [including context information in application. Supported semantics are entering, leaving and while in a context

   6.  There is more context than location Sensor (physical and logical) -> cues

  • To develop new functionality with added value for the user and still keep the interaction mechanism simple and straightforward. 
  •  The more the device knows about the user, the task and the environment, the better the support is for the user and the more the interface can become invisible.
  • Context awareness as knowledge about the user’s and IT device’s state, including surroundings, situation, and location to a less extent.

12. Sentient computing

  • A real intuitive physical action initiates an appropriate response, made possible by an understanding computer system in which location and status data extends throughout the physical environment.

13. Towards quality data: an attribute-based approach

  • Apply a set of quality parameters to evaluate quality of attributes of an entity

14. Prediction intelligence in context-aware applications

  • The retrieval of contextual information depends on spatial variants, time, history of interaction, and a range of factors that are not provided explicitly, but do exit implicitly in the ambient environment
  • The concept of predicting the whole context on the level of abstract contextual identifiers with online algorithms integrated in the mobile device is novel
  • Observable as the variable of interest related to a set of entities. It implicitly maintains specific knowledge concerning its environment

15. Application design for wearable and context-aware computers

16. A middleware infrastructure for active spaces

17. Business rules and object role modeling

  • ORM: a method for designing and querying database models at the conceptual level, where the application is described in terms readily understood by users.
  • ORM has no attributes.
  • ORM constraints: irreflexivity, intransitivity and acyclicity.
  • ORM conceptual schemas comprise fact types, constraints and derive (logic and arithmetic) rules.




Some papers

8 01 2006

1. Using the Object-Oriented Paradigm to Model Context in Computer Go

(1) Using OOP to model contextual information, temporal, goal, spatial and global;

(2) A general class with specialized classes, a master slot of a class and slave slots, a list of goals that depend on each other. A master slot fixes the context and the usefulness of the slave slots.

2. An ontology-based context model in intelligent environment

Based on ontology, the paper uses owl to model context, semantic context representation, context reasoning and knowledge sharing, context classification, context dependency and quality of context. Classification -> capture various contexts: (1) direct   -> from a context provider (sensed, derived); (2) indirect: aggregation and reasoning.

Dependency tag to the property associated with a specific context class -> capture relationship between context information.

 Annotating sensed context with extensible quality constraints -> quality

(1) Analyze existing contextual models and classify then into three types: application-oriented, model-oriented, ontology-oriented.

(2) Describe characteristics of context information: great variety, varying in different sub-domains, interrelated, inconsistent.

(3) Domain-specific: a collection low-level ontology defining the details of general concepts and their properties in each sub-domain; Upper ontology: a high level ontology capturing general context knowledge about the physical world

Advantages: domain-specific shares the load of the whole system; upper ontology shares common understanding, semantic interoperability, reuse of domain knowledge, formal analysis.

(4) Classification: to perform context reasoning based on confidence level of each type of context;

(5) Quality: based on attributes. Quality (quality indicators of owl properties) constraints are associated with a number of quality parameters, which capture the dimensions of quality relevant to the attributes of entities and relationships between entities.

3. Experiences in using CC/PP in context-aware systems

Contextual models describe: 1) the features of the whole computing environment (user, computing devices, network, OS, distributed computing platform); 2) user’s computing applications, requirements and preferences; 3) computing application’s requirements; 4) information about how the requirement are currently met by the computing environment; 5) constraints and relationships existing in the computing environment; 6) dependencies between context information.

Goal: Extend CC/PP vocabulary: user context information, device capabilities, and application requirement and their current status. A large amount of research about context and pervasive computing is similar to AI, whose goal is to å°½å?¯èƒ½å‡?少用户干预,æ?•æ?‰æ›´å¤šçš„环境信æ?¯ï¼Œ å?‘用户æ??供最å?¯é? ï¼Œå‡†ç¡®çš„ä¿¡æ?¯å’Œå¸®åŠ©ã€‚æ”¶é›†ä¿¡æ?¯Â -> 分æž? -> æ??供(å?¯é? ï¼Œå‡†ç¡®ï¼Œå®‰å…¨ï¼‰ã€‚ 如何筛选,表示,组织,集æˆ?ä¸?å?Œçš„ä¿¡æ?¯åˆ™ä¾?æ?®ä¸?å?Œçš„æ?¥æº?和目的。





Web scraping for Weather information

31 12 2005

This is the first time I use python to scrape web information. I want to write some experiences for that.

 1. About Regular Expression:
   [^>]*: anything in which begins with font;
   \(: use back dash \ following any symbol you want to match (i.e., here ( );
  [^\n]*: means to change to a new line at the end of a line;
  [\w][\w] or [\w]{1,2}: means to match one or two words;
  [\w]* or [\w]+: means >=0 or >=1;
  ([A-Z][A-Z]?): one or two capital letters;
  [\d]: for digitals;
  | : means or ;

  [\d\.]+: for float digitals;

 2. About Web Scraping:
    (1) open URL –> urllib.urlopen(url);
    (2) get source code of URL –> sock.read();
    (3) localise what you want to scrape through regular expression
             –> matcher=re.compile(RE)
                   elements=mather.search(htmlSource) or findall(htmlSource)
                   [search: returns one element;
                     findall: returns a list of results;]
   (4) read results 
           –> for x, y in enumerate(elements):

                 [x -> index of the list; y -> the value]

 3. The whole program:





leave so many things undone!

18 12 2005

Now I feel so strange: why do I leave so many things undone when I go back?

1. not finished my paper;

2. not write enough application reports on pervasive computing;

3. not finish the category book, and say nothing of ideas;

4. screen-scraping on weather;

5. cvs trigger (it seems Radu did that himself :( );

6. do not learn how to use Linux enough;

…..

Before now, I even have not realized the severity of the problem. Now it’s late to be aware or not?

I do not know, but I think at least I need write a report to Simon even though he did not ask me to do.

So depreseed and disapponted~~