1. A rifleshotgun combination firearm comprising:
a receiver having a forward end and a rearward end, the receiver including:
a shotgun receiver portion adjacent the forward end; and
a lower receiver portion adjacent the rearward end;
a shotgun barrel and a shotgun magazine tube coupled to the shotgun receiver portion and extending forwardly from the forward end thereof;
an upper receiver coupled to the lower receiver portion;
a rifle barrel coupled to and extending forwardly from the upper receiver; and
a trigger mechanism carried by the receiver, the trigger mechanism including:
a rifle trigger assembly carried in the lower receiver portion and actuated by a rifle trigger coupled thereto, the rifle trigger having a finger grip extending below the lower receiver portion; and
a shotgun trigger assembly carried by the shotgun receiver portion and actuated by a shotgun trigger pivotally carried on a transversely oriented pivot pin in the lower receiver portion, the shotgun trigger having a finger grip extending below the lower receiver portion adjacent the rifle trigger, and a shotgun trigger transfer bar coupling the shotgun trigger assembly to the shotgun trigger.
2. A rifleshotgun combination firearm as claimed in claim 1 wherein the shotgun trigger assembly further includes:
a cam member pivotally mounted within the shotgun receiver portion for movement between a fire position and a cocked position, the cam member coupled to the shotgun trigger transfer bar;
a sear member pivotally mounted within the shotgun receiver portion and movable between a disengaged position and an engaged position; and
an elongated connector member coupled between the cam member and the sear member.
3. A rifleshotgun combination firearm as claimed in claim 2 further comprising a shotgun hammer mounted in the shotgun receiver portion for rotation between a forward position and a rearward position, the hammer biased into the forward position by a torsion spring, and held in the rearward position by engagement of the sear member.
4. A rifleshotgun combination firearm as claimed in claim 1 wherein the rifle trigger assembly further includes:
a sear member pivotally mounted within the lower receiver for movement between an engaged position and a disengaged position; and
a link member pivotally mounted within the lower receiver and pivotally coupled between the trigger and the sear member.
5. A rifleshotgun combination firearm as claimed in claim 1 further including a rifle hammer mounted on the pivot pin in the lower receiver portion for rotation between a forward position and a rearward position.
6. A rifleshotgun combination firearm as claimed in claim 1 wherein the receiver is formed as a single piece.
7. A rifleshotgun combination firearm comprising:
a receiver having a forward end and a rearward end, the receiver including:
a shotgun receiver portion adjacent the forward end; and
a lower receiver portion extending rearwardly from the shotgun receiver and adjacent the rearward end;
a shotgun barrel coupled to the shotgun receiver portion and extending forwardly from the forward end thereof;
an upper receiver coupled to the lower receiver portion;
a rifle barrel coupled to and extending forwardly from the upper receiver; and
a trigger mechanism carried by the receiver, the trigger mechanism including:
a rifle trigger box defined by the lower receiver portion;
a shotgun trigger box defined by the shotgun receiver portion;
a rifle trigger assembly carried in the rifle trigger box and actuated by a rifle trigger coupled thereto, the rifle trigger having a finger grip extending below the lower receiver portion; and
a shotgun trigger assembly carried by the shotgun receiver portion and actuated by a shotgun trigger pivotally carried on a transversely oriented pivot pin in the rifle trigger box, the shotgun trigger having a finger grip extending below the lower receiver portion adjacent the rifle trigger, and a shotgun trigger transfer bar coupling the shotgun trigger assembly in the shotgun trigger box to the shotgun trigger in the rifle trigger box; and
a rifle hammer mounted on the pivot pin in the rifle trigger box for rotation between a forward position and a rearward position.
8. A rifleshotgun combination firearm as claimed in claim 7 wherein the shotgun trigger assembly further includes:
a cam member pivotally mounted within the shotgun trigger box for movement between a fire position and a cocked position, the cam member coupled to the shotgun trigger transfer bar extending forwardly from the rifle trigger box;
a sear member pivotally mounted within the shotgun trigger box and movable between a disengaged position and an engaged position; and
an elongated connector member coupled between the cam member and the sear member.
9. A rifleshotgun combination firearm as claimed in claim 8 further comprising a shotgun hammer mounted in the shotgun receiver portion for rotation between a forward position and a rearward position, the hammer biased into the forward position by a torsion spring, and held in the rearward position by engagement of the sear member.
10. A rifleshotgun combination firearm as claimed in claim 7 wherein the rifle trigger assembly further includes:
a sear member pivotally mounted within the rifle trigger box for movement between an engaged position and a disengaged position; and
a link member pivotally mounted within the rifle trigger box and pivotally coupled between the rifle trigger and the sear member, the link member displacing the rifle trigger rearwardly, so as to provide a space between the shotgun trigger and the rifle trigger.
11. A rifleshotgun combination firearm comprising:
a shotgun receiver portion;
a lower receiver portion extending rearwardly from the shotgun receiver;
a rifle trigger assembly carried in the lower receiver portion and actuated by a rifle trigger coupled thereto, the rifle trigger having a finger grip extending below the lower receiver portion;
a shotgun trigger assembly carried by the shotgun receiver portion and actuated by a shotgun trigger pivotally carried on a transversely oriented pivot pin in the lower receiver portion, the shotgun trigger having a finger grip extending below the lower receiver portion forward of and adjacent to the rifle trigger; and
a shotgun trigger transfer bar coupling the shotgun trigger assembly to the shotgun trigger.
12. A rifleshotgun combination firearm as claimed in claim 11 wherein the shotgun trigger assembly further includes:
a cam member pivotally mounted within the shotgun receiver portion for movement between a fire position and a cocked position, the cam member coupled to the shotgun trigger transfer bar;
a sear member pivotally mounted within the shotgun receiver portion and movable between a disengaged position and an engaged position; and
an elongated connector member coupled between the cam member and the sear member.
13. A rifleshotgun combination firearm as claimed in claim 12 further comprising a shotgun hammer mounted in the shotgun receiver portion for rotation between a forward position and a rearward position, the hammer biased into the forward position by a torsion spring, and held in the rearward position by engagement of the sear member.
14. A rifleshotgun combination firearm as claimed in claim 11 wherein the rifle trigger assembly further includes:
a sear member pivotally mounted within the lower receiver for movement between an engaged position and a disengaged position; and
a link member pivotally mounted within the lower receiver and pivotally coupled between the rifle trigger and the sear member, the link member displacing the rifle trigger rearwardly, so as to provide a space between the shotgun trigger and the rifle trigger.
15. A rifleshotgun combination firearm as claimed in claim 11 further including a rifle hammer mounted on the transversely oriented pivot pin in the lower receiver portion for rotation between a forward position and a rearward position.
16. A rifleshotgun combination firearm as claimed in claim 11 wherein the receiver is formed as a single piece.
The claims below are in addition to those above.
All refrences to claim(s) which appear below refer to the numbering after this setence.
1. A method comprising:
providing asynchronous access to multiple users to a graphical programming and analysis environment program;
allowing each user to generate graphically represented code objects within the environment program;
allowing each user access to the code objects of other users based on security privileges accorded to the user;
allowing each user to have the code objects of the user be chained to the code objects of other users to which the user has access to yield inter-code object communication; and,
allowing each user to execute application programs made up of the code objects as chained together within the environment program.
2. The method of claim 1, wherein providing asynchronous access to the multiple users to the graphical programming and analysis environment program comprises enabling multiple users to log into the environment program remotely, such that the multiple users are able to access the environment program simultaneously.
3. The method of claim 1, wherein allowing each user to generate the graphically represented code objects comprises:
allowing each user to instantiate one or more code objects;
allowing each user to determine an internal logic for each code object;
allowing each user to determine first data to be received by each code object; and,
allowing each user to determine second data to be sent by each code object.
4. The method of claim 1, wherein allowing each user access to the code objects of the other users based on security privileges accorded to the user comprises rendering visible to each user the code objects of the other users to which the user has access.
5. The method of claim 1, wherein allowing each user to have the code objects of the user to be chained to the code objects of the other users to which the user has access comprises allowing the user to graphically chain code objects together, such that a sender object of a pair of graphically chained together code objects is able to send data that is received by a receiver object of the pair.
6. The method of claim 1, wherein allowing each user to execute the application programs made up of the code objects as chained together within the environment program comprises displaying to the user end results of data processed by the code objects upon execution of the application programs.
7. The method of claim 1, wherein the graphical programming and analysis environment program comprises an applet program, and each code object comprises an applet program within a same applet context as the environment program.
8. The method of claim 7, wherein at least one of the graphical programming and analysis environment program and the code objects is developed within an architecture- independent and Internet web browsing program-independent computer programming technology.
9. The method of claim 1, wherein the graphically represented code objects coexist with. non-graphically represented code objects within the environment program.
10. The method of claim 9, wherein the non-graphically represented code objects comprise stand-alone computer programs.
11. The method of claim 9, wherein the non-graphically represented code objects comprise one or more of: image-viewing programs, video-playing programs, and audio-playing programs.
12. The method of claim 1, wherein the graphically represented code objects comprise one or more of: database objects, video-playing programs, audio-playing programs, image-viewing programs, geo-spatial information map-viewing programs, filter-algorithm programs, and model and analysis tool programs.
13. The method of claim 1, wherein the graphical programming and analysis environment program is visually represented as a white board.
14. The method of claim 13, wherein providing asynchronous access to the graphical programming and analysis environment program comprises providing application programs executable within the white board.
15. The method of claim 14, wherein providing the application programs executable within the white board comprises executing the application programs such that results thereof are immediately available to the multiple users.
16. The method of claim 1, wherein providing asynchronous access to the graphical programming and analysis environment program comprises allowing users to access resources available on a network to which the graphical programming and analysis environment program is communicatively coupled.
17. A multiple-user graphical programming and analysis environment program comprising:
a plurality of graphically represented code objects, each code object created by a user and accessible by other users in accordance with security privileges of the other users;
a plurality of graphically represented inter-code object connections, each inter-code object connection representing data transfer between a pair of code objects;
one or more application programs made up of one or more chains of the code objects interconnected via the inter-code object connections; and,
a graphical white board area within which the code objects are definable and movable and the inter-code object connections are creatable,
wherein the one or more application programs are executable within the graphical white board area.
18. The environment program of claim 17, wherein each code object is an applet program.
19. The environment program of claim 18, wherein the graphical white board area is an applet program having a context within which each code object runs.
20. The environment program of claim 18, wherein the applet program is a Java applet program.
21. The environment program of claim 17, wherein each code object comprises:
a data interface indicating first data to be input into the code object and second data to be output by the code object; and,
internal logic to generate the second data from the first data.
22. The environment program of claim 17, wherein each code object has at least one inter-code object communication graphically terminating on one of an edge and an interior of the code object.
23. The environment program of claim 17, wherein each inter-code object connection represents data being sent by a sender object of the pair of code objects and being received by a receiver object of the pair of code objects.
24. The environment program of claim 23, wherein the data is at least one of: user defined, and filtered according to security privileges accorded to the users.
25. The environment program of claim 17, wherein each inter-code object connection terminates on one of an edge and an interior of one of the code objects.
26. The environment program of claim 17, wherein at least one of the inter-code object connections is one of graphically invisible and purposefully limited in functionality for security.
27. The environment program of claim 17, wherein each inter-code object connection is graphically represented by one of a line and a directed graph.
28. The environment program of claim 17, wherein the one or more application programs are constructed one of asynchronously and synchronously.
29. The environment program of claim 17, wherein the one or more application programs are at least one of: capable of being stored for later retrieval and use, and modular in nature so that more complex application programs may be constructed therefrom.
30. The environment program of claim 17, wherein the one or more application programs are contained within container panels as macro programs, the container panels interconnectable via additional inter-code object connections.
31. The environment program of claim 17, wherein the one or more application programs are at least one of: auditable and loggable during usage, traceable to users who construct the programs, traceable to users who use the programs, and configuration manageable.
32. The environment program of claim 17, wherein the one or more application programs are at least one of: capable of accepting data from dynamically changing input sources, from static input sources, and from network-accessible resources; capable of network reporting results thereof; and, capable of networking reporting security privilege-filtered results thereof.
33. The environment program of claim 17, further comprising:
a chat area within which the user can communicate with the other users; and,
a user list area showing a name of each of the user and the other users currently logged into the environment program.
34. A method comprising:
accessing by a user a graphical programming and analysis environment program that other users are already currently accessing;
generating by the user graphically represented code objects within the environment program;
graphically chaining together code objects by the user within the environment program, including chaining together the code objects generated by the user and code objects generated by the other users to which the user has access based on security privileges accorded to the user, to yield inter-code object communication; and,
assembling application programs by the user within the environment program, each application program made up of the code objects as have been chained together.
35. The method of claim 34, further comprising executing by the user of the application programs within the environment program.
36. The method of claim 34, wherein generating by the user graphically represented code objects comprises, for each code object,
the user determining a data interface indicating first data to be input into the code object and second data to be output by the code object; and,
the user determining internal logic to generate the second data from the first data.
37. The method of claim 34, wherein chaining together code objects by the user comprises the user, for each pair of code objects to be chained together, specify a sender object of the pair to send data and a receiver object of the pair to receive the data.
38. The method of claim 34, wherein the graphical programming and analysis environment program comprises an applet program, and each code object comprises an applet program within a same applet context as the environment program.