Forum for Proposals to iCSC2005

 

Number: 17
Month: November
Name: Zornitsa Zaharieva
Type:

Comments

I really like the proposed schedule by Michal about the database technologies track and I can participate/collaborate on any of the listed lectures or exercises.

I think we can enlarge the scope of the track and change the title to 'Data Management and Database Technologies' and also I would like to add one more topic in the list:


Subject: Proposal for ‘Data Management and Database Technologies Track’

1. Introduction to relational databases (1-hour lecture)

2. SQL basics (1-hour lecture)

3. SQL basics (1-hour practical exercises)

4. SQL statement tuning (1-hour lecture)

5. SQL statement tuning (1-hour practical exercises)

6. Advanced database concepts (1-hour lecture)

7. Accelerators Controls databases and interfaces (1-hour lecture)


Point 7 in brief:

The controls for the accelerators involves tremendous efforts and expertise from an engineering point of view and yet it looks like not so many people are aware of its presence or what is required to make the accelerators run.

This lecture will cover some of the databases and their interfaces, which together are involved with and aid in the accelerators controls (e.g. Controls Configuration database, LHC Entities Naming database, LHC logging database, etc.). The aim is not to go into the smallest details, but to present the overall requirements and functionality provided by the controls databases.

At the same time I think this will be an excellent example of how the database theory (lectures 1, 2, 4, 6) can be applied in practice.

Zornitsa

 

 


Number: 16
Month: November  
Name: Sunil M. Dogra
Type: I have no strong view on the topic

Comments

Geometry Description Markup Language for the STAR VMC project.

Summary
With the emergence of abstract interfaces to Geometry
modeling and Monte-Carlo simulations, the active HENP community is in need for a solution allowing the transition and support of the many years geometry description developed and in use by the expert teams while migrating to a new framework. The current geometry approach in use in running experiments appeared to be solid and has demonstrated its sturdiness, none of the new approach relies on Monte-Carlo model specific approach but rather integrates with widely distributed and adopted user environment such as the ROOT framework. The need for a higher level of abstraction in this area is required: the development of Geometry Description Markup Languages such as GDML may very well provide tools and base in which the existing geometries can be converted, supporting the existing framework while a transition to a new framework can be undertaken without disruption in productivity and efficiency. We propose to study the feasibility of using GDML (or other XML based approach) as a single source for geometry description and develop a front-end in the STAR environment. To achieve this goal, we propose to develop geometry parsers and converters producing TGeo based geometry description. Static (or fixed) geometry descriptions will be first tried and further study will propose a scheme to introduce mechanism for interfacing geometry descriptions and databases keeping a focus on a experiment non-specific approach.


Detailed Project description:


Experiment Simulation packages comprise three
main components: a core experiment application and geometry description, a transport model and a geometry model. While Geant3 and/or Geant4 (and to some extend Fluka) offers both a geometry description approach coupled to a transport model, there is also an emerging trend in the HENP community to replace the fundamental layers by virtual interfaces allowing for plug-and-play features of geometry and/or transport code. The Virtual Monte-Carlo (VMC) project, aim to provide such feature while integrated into the ROOT framework. While ambitious, the approach do not address a transitional need running experiments have: a migration need to allow for a smooth transition from existing framework to a new framework. In STAR, the gstar and now starsim framework integrates a well established geometry description front-end provided to the user as convenience to allow external geometry descriptions, split into sub-system specific maintained sources (or .g). Geant3 focused, the in-memory expanded G3 geometry can be transformed into either ROOT native TGeo geometry descriptions but the existing VMC framework do not provide an easy way to migrate from .g to TGeo or G4 geometry modeling.

For this purpose, we propose to evaluate and use the emerging Geometry Description Markup Language (GML). GDML allows for the definition of geometry data in XML format, therefore providing an attractive platform independent component to the problem (computing language independence, model independence, ...). The structure of GDML is defined by its corresponding GDML Schema. This project would have several goals or address the following questions: Evaluate the completeness and readiness of GDML and its peripheral tools (XML parser). For example, does GDML adequate for the current representation of the STAR geometry ?? Are the provided geometry volumes used in STAR present in GDML principles ?? Work on an initial TPC+SVT (+SSD) XML based description and develop a parser which converts the GDML XML description into TGeo based volumes. Address or propose a solution to resolve formula used for volume symmetry (for example, a given volume may be described as a fundamental unit with its center positioned at (x,y,z) but repeated N times every Phi). Does GDML offer such capabilities and how convenient for the user is the approach ?? While the GDML solution is foreseen as viable for a flat geometry description, geometry modeling in an intimate relation between static volumes and information coming from database. For example, rotation angles of a volume may be coming from a database rather than the primary input file. While the XML may be expanded into TGeo, it is unclear how one would define the db dependencies within the developed schema. Study and conceptualization of a database scheme is desirable.

This project will be carried under the STAR simulation umbrella and the will be involved (under guidance) in evaluating feasibility, studying the current GDML V1.1 schema capabilities, developing an initial XML description, testing the existing GDML parser (documenting findings, identifying possible pitfalls and/or missing features), developing a GDML XML to TGeo parser & converter and integrating his work within the STAR VMC testbed framework. Depending on time and expertise, solutions for db interactions and design may be covered although an initial parser would be considered as a great success.


Sunil Dogra

 


Number: 15
Month: November
Name: Michal Kwiatek
Type:

Comments

Proposal for database technologies track

Following Zornitsa's post, here's a proposal for "Database technologies track".

1. Introduction to relational databases (1-hour lecture)

2. SQL basics (1-hour lecture)

3. SQL basics (1-hour practical exercises)

4. SQL statement tuning (1-hour lecture)

5. SQL statement tuning (1-hour practical exercises)

6. Advanced database concepts (1-hour lecture)

"Database technologies track" could take two mornings. My idea for the track is two-fold: those new to database technologies could familiarise themselves with it on the first day, so that on the second day they have enough knowledge to solve (as a hands-on exercise) some common performance problems. Those, who work with databases on daily basis could join the lectures at any time to learn about performance tuning, and some important issues mentioned by Zornitsa: normalization or denormalization; database constraints for enforcing data integrity – pros and cons, and more (I think this would do splendidly for the final lecture).

Please tell me what you think!

Michal.


Number: 14
Month: October
Name: Ioannis Baltopoulos
Type:
Month: October

Comments

Hello everyone,

I hope you're all doing well after the CSC in Italy. Given the current timeframe and the amount of work involved to prepare such an inverted school, I would like to propose the following extension of the Web Services part of the Software Engineering stream:

Assuming a 20 hour course

1 Hour: Introduction to Web Services
1 Hour: Benefits & relation to existing Technologies
2 Hours: Designing Web Services using UML
2 Hours: Developing Web Services in Java
2 Hours: Developing Web Services in C#
2 Hours: Securing Web Services
1 Hour: Automatic deployment of Web Services
1 Hour: Testing of Web Services (Python?)
1 Hour: Monitoring and maintenance of Web Services
2 Hours: Web Services in HEP
1 Hour: Research Topics in Web Services
1 Hour: Future of Web Services

which adds up to 17 hours. Of course this is only a draft and serves as a starting point for discussions.

Feel free to make any comments to this proposal and express interest in any lecture you feel comfortable delivering. You may also contact me directly using the email bellow if you don't feel like posting to such a wide audience

Best Regards,

Yiannis

Email: ioannis(dott)baltopoulos(att)imperial(dott)ac(doot)uk
 



Number: 13
Month: October
Name: Lopienski, S.
Type:  I am thinking of giving two presentations

I am thinking of giving two presentations. One would be about CVS (since
my main task at CERN is to provide central CVS service). I would like to
present CVS a bit wider that it was done at the CSC, but still from users'
point of view. My goal would be to:
- discuss basic and not so basic but still useful functionality of CVS,
- present available clients (command line clients, GUIs and IDE integrated
clients) for both Unix-like and Windows platforms,
- present others tool for CVS (Web interfaces etc.)
- show some good (and also bad) CVS users' habits
- discuss access control in CVS and security issues
- prepare some exercises to be downloaded and run for further studies.

The idea of the second presentation is not yet completely clear, but in
general, I could give a
talk about security in computer systems. More specifically:
- how to think of about security, how to design a secure computer system,
- how to make a good use of cryptography (length of keys, validity of
certificates etc.),
- threats appearing on the human-machine (or human-application) interface,
and threats coming from dishonest users,
- many real-life (and not necessarily computer-based) examples of good
security, poor security, misunderstood security and security which in fact
makes things less secure.
- etc.

I don't want to talk about any specific things like securing Linux kernel,
applying patches or preventing buffer overflow attacks - I want to go more
general.

Alternatively, I could also go into some domains where cryptography is clearly to be applied, but there are no good, widely-used solutions yet, like e-voting (problems of anonymity, one vote per registered voter etc.) and micropayments.

Cheers,
Sebastian
 


 
Number: 12
Month: October
Name: Zornitsa Zaharieva
Type:
I have a specifc topic I would like to work on

Comments

Since I work in the area of data management, I think that I can help with the preparation of some lectures/exercises in that domain – 'Databases and related technologies'. I like Michal's idea about tuning of SQL queries but I am sure there are more topics to be addressed related to the design and optimal usage of databases (e.g. relational database design and modelling; normalization or denormalization; database constraints for enforcing data integrity – pros and cons; SQL, etc.). Apart from the relational database theory - design, optimization, etc., we can also look into the particular implementations – commercial databases and some of their special features (e.g. Oracle – Hitch Hiker’s guide to Oracle: PL/SQL, triggers, materialized views, Java in Oracle, etc.) and companion software tools that can be used for database design, implementation and also for creating interfaces for the databases (e.g. PL/SQL web toolkit, Oracle Forms, etc.). However the presented topics and the depth – only basics or more advanced, will depend on the assumed level of knowledge of the students so this has to be discussed and decided upon.



Number: 11
Month: September
Name: Petr Olmer
Type:
I have a specifc topic I would like to work on

Comments

* Formal methods of software development: UML/SDL - very probably can be included in a SW track. Apart from the theory, I have also some terribly stories that are very good for an "evening" lecture. * Distributed programming - can be a track itself, my interest is agent oriented programming, and I can cover many issues in the field, a specific Grid-oriented topic can be how to create a distributed service broker. I wonder if there's anybody who would like to adress the topic of distributed programming from another side. * And/or I can join the workflow track, if there's any. I've worked in the area for 7 years. * Data-mining: Recently I wrote a paper about so-called news-mining with help of semantic web, but I'm not sure if it is of a wide interest.



Number: 10
Month: September
Name: Gergana Popova
Type: I have a specifc topic I would like to work on

Comments

I am interesting in the field of Business Modeling (Business Procces, Urbanisation, Workflows, etc ). Also I can participate in the topics connected with Web Services, XML. As I remember somebody proposed already this in the lection of inverted school. For me is not so clear how this inverted school will work. I catch the idea, but for me the realisation is not clear. Best regards!


 
Number: 9
Month: September
Name: Gergana Popova
Type: I have a specifc topic I would like to work on

Comments

I am interesting in the field of Business Modeling (Business Procces, Urbanisation, Workflows, etc ). Also I can participate in the topics connected with Web Services, XML. As I remember somebody proposed already this in the lection of inverted school. For me is not so clear how this inverted school will work. I catch the idea, but for me the realisation is not clear. Best regards!



Number: 8
Month: September
Name: Brice Copy
Type: I have a specifc topic I would like to work on

Comments

Hello, In the light of what we have seen during CSC2004, it turns out that many latest developments in Entreprise Computing are not benefiting the physics community. Application environments like Java Entreprise (J2EE) and MS .Net are for instance exhibiting many interesting ideas that should be made more widely known. Even without using those environments, their ideas would be useful. Latest developments include : - Entreprise Design Patterns : addressing problems like scalability, caching, very large concurrency, transaction management, object relational mapping (similar to what POOL does, but in a more generic and relational friendly manner) - Inversion of Control : Exhibited in particular in frameworks like Spring (http://www.springframework.org inversion of control provides better control of your code and eases maintenance dramatically. Implementations for J2EE and .Net already exist, but the general concept would generally benefit all developers. - Latest tools for iterative development : Those include build and deployment tools such as Apache Maven and Cruise Control that integrate with your versioning system (such as CVS or Sourcesafe), your application server (Apache Tomcat, Oracle 9iAS etc...), your unit tests (JUnit), your defect tracking tool (JIRA for instance) and many other tools useful to iterative development. A global outlook on what's available could be useful to many developers attending the CERN CSC. - OLAP and Data Minig : An update is due on the subject, the promises held by OLAP and Data Mining have not yet been fulfilled, but it would be interesting to show the state of the art, what is possible, what is not etc... Francois : I have a few people interested in the topics I raise here, but I will not be back at CERN before the 10th October - feel free to email me for more details, I'll reply when I get back. To all : If you have ideas, please email me directly as I will not be able to read this forum until the 10th october. Thanks Brice Copy brice.copy(AT)cern.ch


Day:
Number: 7
Month: September
Name: Paolo Adragna
Type: I am commenting on a previous posting

Comments

Hello everybody, I write to strongly support Gerhard's idea and Maurizio's sensible observations. My experience in the world of software began exactly trying to write new code using libraries, discovering too late that the libraries were all but bug free; or been employed as a "bug catcher". Physicist who usually are involved in mantaining code or simply build new analysis program starting from already existing code have to make remakable efforts to acquire the experience Maurizio was speaking about. So I think it could be a valuable attempt to set up some lectures on this subject, because they would concern everyday life and work and not, as stated by Maurizio, only an academical exercise. Cheers, Paolo



Number: 6
Month: September
Name: Maurizio Nagni
Type: I am commenting on a previous posting

Comments

I would like to support Gerhard's idea mainly because i think that real problems ask for real solutions (as Gerhard pointed out in the end).

Usually, on my experience, software maintenance is not an easy task even if you are the original developer (have you ever tried to fix a bug after months after the production release and wondering where the hell is coming out that object?); it may happen that, the one who is fixing a bug is not the one who wrote the software, for example because the original developer is not more available (is he coding further features far from you on a beach in the Hawaii? is he gone to a concurrent company? is he your ex-husband or ex-wife as well?).

In all these "out-of-the-academic"situations you are alone with your experience, your tricks, at least your friends, but as chaotic your goal could seem, it should be some heuristic pattern that you follow to reach your final goal. It will be a great result if we will be able to define some well defined hints on how to do such dirty works.

In my idea a possible index of such presentation could be the following points:

1) How to look into the code (avoid unsignificant properties/methods/classes) and get an high altitude view of the software;

2) Different languages, different approach? (what about procedural coding? and about OO coding? IT IS A BATCH?????);

3) Adding/Fixing features style (coding using a quick and dirty add/fix is not always is a good idea.... you will use previous style or your style)

4) What tools are available for me? (perhaps the change is easy then i will use EMACS, it could be more hard then i will start to think to use some IDE..... i really have to use MAKE or i can play with ANT too?)

5) For the exercise session i would suggest:

a) a software well know to people (well known could mean the API not how the API internally work) to reduce the impact and increase the interest;

b) EASY to install on the machines;

c) complex enough (say well builded) to give some satisfaction in the end of the exercise;

d) still in an evolution phase (oh well like 99% of the software...), so you can choose both to fix a bug (we could use a previous version of the software) and to add a new (simple) feature.

The software i'm thinking on is ROOT (even if i still have to think what bug to fix or feature to add).

In the end it will be good to discuss about how to approach this problem; who could have benefits from this presentation: a) the ALL-ALONE-PROGRAMMER (your boss say to you: "You are in charge of this.... do your best!")

b) the ONE-LANGUAGE-PROGRAMMER (it could help for example in how read different languages at least for understand what they are doing?)

c) the NOT-ACADEMIC-PROGRAMMER (UML or pattern are not so much spread among the programmers)

Hope this help, Gerhard!

ciao Maurizio



Number: 5
Month: September
Name: Markus.Duda@Physik.RWTH-Aachen.DE
Type: I have a specifc topic I would like to work on

Comments

Given the codebase size for most software projects (not only for the LHC experiments), (new) users need (to know) the right tools to get started and explore and navigate such huge software projects. I will like to present Integrated Development Environments (IDE) like KDevelop or Eclipse and how one benefits for them when breaking into a new software project. Details would include tool components like code browser, documentation browser, version control systems, unit testing, bug reporting, etc.



Number: 4
Month: September
Name: Victor Engmark
Type: I have no strong view on the topic

Comments

Some topics I'd be interested in contributing to:

Web standards
Why do we even want to know? Because web pages following the standards...

Best practices in software development

Listening to anecdotes of how to do software development can be fun, but I believe a "positivistic" summary of the proven best practices for software development can be more useful. This is a huge subject, and could be split into blocks based on lifecycle phases (design, architecture, implementation, maintenance) or software components (back-ends, front-ends, middleware, server, client, agent).</p>



Number: 3
Month: September
Name: Petr Olmer
Type: I have no strong view on the topic

Comments

(Well I have a strong view, but this post is not about it.)

Looks like Michal brought a very good issue to the spot. What do we know about our future listeners? Shouldn't we prepare tracks with the respect to their knowledge?

Example: As far as I remember, design patterns were mentioned/used several times at CSC. Can we provide a deeper presentation than just introducing them?



Number: 2
Month: September
Name: Gerhard Brandt
Type: I have a specifc topic I would like to work on

Comments

SOFTWARE MAINTENANCE

I would like to give a course (or series of lectures togehter with other participants) focussing on the last stage in the software life cycle: the maintenance of practically used software. The main focus should lie on the analysis of existing code and extracting information from it on every level of detail. this means:

- actual reading of code - use of low level tools like grep, wc - use of higher level tools like javadoc, THtml

as excercises i propose the analysis of existing software in HEP. starting with simple heuristics, understanding the technicalities, like the build process, library dependencies etc... then fixing acutal bugs in it or - on a more advanced level - adding features.

which software to use for the excercises will have to be seen. ROOT seems a good idea to me, but also the analysis software used in experiments of the participants could be used (eg. H1, BaBar CDF, D0)

why this lecture: designing code is nice and exiciting, but in practice already written software is used. at the CSC we have heard many paroles like: 'everyone knows', 'trust me' etc. applied to abstract concepts used in the design of not yet used software (mostly LHC software). opposed to this, this course aims to confront participants with actually proven software, and to learn from its bugs and features.



Number: 1
Month: September
Name: Michal Kwiatek
Type: I have no strong view on the topic

Comments

There are two topics, which I think could be presented on Inverted SCS:

(1) Design Patterns (2) Tuning of SQL Queries

ad. 1. The idea of Design Patterns is important; probably nobody is going to argue about that. Why inventing new solutions to problems that have already been solved so many times? Implementing ready-to-go solutions has many advantages: - it's cheaper, - it helps you avoid common design problems, - it gives designers and developers vocabulary, which to be shared without the need to explain each design feature.

The idea of design patterns (its benefits and limitations along with examples of most popular patterns) is a good material for both lecture and exercise session. It could be presented in a similar way to what Bob did, and it would be a nice follow-up to the Software Technologies track.

ad. 2. Many people know how to write SQL queries, but usually they don't pay attention to performance details. Very well - why should they? SQL is a declarative language, after all. The answer to that is: yes, but unless you give SQL optimazer a chance, your queries will perform very badly. There is a number of basic things that can be done, a the improvement will be huge!

The idea for the lecture would be to list those things with a small explanation. It could be followed with short exercises. However, it should be discussed if we can assume students to have knowledge of SQL. If not, then perhaps preparing more lectures on it, and joining them into a Database track, would be an idea!

Michal Kwiatek.



Number: 0
Month: September
Name: Francois Fluckiger
Type: I have no strong view on the topic

Comments

Welcome to CSC2004 participants interested in the CSC Inverted "Where students become professors".
This simple mechanism must be viewed as an optional tool to help you when considering topics, forming teams ...
We will soon publish guidelines on how actual proposals should be submitted (the procedure will be light). In the meantime, don't hesitate to contact me, either by email, or directly if you are on the CERN site.

Francois.


Back to the CSC website