I have a process that I have been able to drawn somehow with a
Great you already have it documented, the industry approach would probably be just use this already existant diagram.
This process involves several classes, loops and several threads of
there is no need to limit yourself to a single diagram, if multiple diagrams help you communicate use multiple diagrams. remeber the end goal in industry is usually about communication your design, uml is just a tool for that, but you may also use text or non uml diagrams, there is rarely a requirement in industry to capture everything in UML (not since CASE tools in the 90s anyway)
However I am unsure which (if any) UML diagram could be adequate to
I thought first Sequence Diagrams since it includes loops and can
represent-I think- threads of execution, but I am not sure what goes
along the lifelines. It seems that I cannot represent anything of what
Life lines can show individual object lifetimes, threads, whole processes, its up to you really, the diagram as a whole will show logical time ordering of messsages, it will not show state
Then I thought about Activity Diagrams but my textbook does not
include loops in it. However looking at examples such as these ones it
seems that loops can be represented simply in Activity Diagrams.
yes activities can loop, activity diagram should be the closest match to your existing flow chart as they do show states and decisions.
I suppose that I can represent threads through Forks and Joins but I
am open to listen to suggestion from more experienced designers.
Who is the diagram for? and what are you trying to communicate to them? this is your best guide as to what to do. e.g. if its for other programmer i might skip diagrams and show code, if its for non-programmers I might use UML, but probably not at the level of showing individual object or thread lifetimes, just showing whole processes is probably enough